Switch 버튼 구현 및 custom 하기
Switch 버튼 구현
XML 에 Switch 코드를 다음과 같이 적용 해주면 됩니다.
실제 구현 모습
하지만 여러모로 다양한 형식으로 custom하고 싶은 분들도 많으실 텐데요
어떻게 하면 custom을 할 수 있는지 코드를 통해 알아보겠습니다.
custom하는 방법
Switch Track 설정
1)drawable에 selector 형식의 xml을 만들어줍니다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/switch_track_off"
android:state_checked="false"/>
<item
android:drawable="@drawable/switch_track_on"
android:state_checked="true"/>
</selector>
2)switch_track_on.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners
android:radius="15dp" />
<size
android:width="50dp"
android:height="30dp" />
<solid
android:color="@color/color1" />
</shape>
3)switch_track_off.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners
android:radius="15dp" />
<size
android:width="50dp"
android:height="30dp" />
<solid
android:color="#A8A8A8" />
</shape>
4)switch_thumb.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="30dp"
android:height="25dp" />
<solid
android:color="#FFFFFF" />
<stroke
android:width="1dp"
android:color="#FFFFFF" />
</shape>
이후 수정을 원하는 Switch xml 로 가서 코드를 적용해주시면 됩니다.