Android Story

[ Android ] Material 스위치 :: 버전 다운하기

WhiteDuck 2016. 6. 18. 22:33



Android : Material 스위치  By AS

 본 글은 Material 스위치를 Custom 하기 위한 글이 아니라 필자가 제작하고 있는 어플리케이션에서는 Sherlock Framgment를 사용하기 때문에 Material Switch (support.v7.Switch)를 사용할 수 없게 되어 쓰게 된 글입니다.

 결론부터 말씀드리자면 안드로이드 api v21 이전 버전에서는 Matrial 스위치를 지원하지 않는 것 같습니다. 또한 제가 하기엔 animation-selector도 적용이 안되는 걸로 알고 있습니다. complie ...v7... 이 안되서 해당 모듈을 모두 가져와서 다시 만들어 봐도 이 animation-selector 때문에 v19버전등의 안드로이드 폰에서는 스위치 자체가 보이지 않더군요.

 따라서 모든 기능을 제거하고 단지 '모습만' Material 스위치를 만들고자 했습니다. 물론 v21 이후 버전에서는 Material 스위치를 쓰구요.

 이러한 스위치를 만들기 위해서는 일단 버젼별 레이아웃이 있어야 되겠죠??

 drawable에서 xml를 생성하기 위해서 File name은 같은 이름을 적용하되 Available qualifiers 에서 Version를 선택하여 버전을 입력합니다.






   이렇게 만들어진 activity_main.xml에 스위치를 적어 넣습니다.




   다만 v22 버전 이후부터는 정상동작하는 스위치를 넣기 위해서 다음과 같이 적용합니다. ( v21에서는 배경이 검정색으로 나오더라구요. 그래서 v22부터 적용하였습니다.)





 스타일을 사용하지 않은 이유는 적용이 잘 안되서 그랬구요. 해서 그냥 직접 넣어서 사용했습니다. 보시는 바와 같이 thumb과 track에서는 투명하고 길쭉한 이미지를 집어넣었구요( Thumb와 Track은 이미지 크기가 제멋대로라 컨트롤하기 어렵습니다.), background에 스위치 버튼 이미지를 적용시켰습니다.


파일은 여기에 첨부하겠습니다.

  


  투명한 건 잘 안보이긴 하지만 직접 만드셔도 상관없습니다. 가로로 길쭉한 이유는 크기조절이 세로로 길면 세로로 줄일 수 가 없더라구요.




  마지막으로  스위치 버튼을 눌렀을 경우 해당하는 이미지를 보여주기 위한 drawable/selector입니다.




 

이렇게 쭉하기면 v21이하 버전에서는 평범한 토글?스위치가(애니메이션X) v22이상부터는 Material 디자인의 스위치가 나옵니다.



결과는 


   [ V19버전 ]                       [ V23 버전 ]





 다른 방법 : http://stackoverflow.com/questions/29752235/how-to-have-a-lollipop-switch-button ( 확인 X )

 컬러 확인 : https://www.materialui.co/colors

반응형