티스토리 뷰
반응형
하나의 ImageView를 가지고 On/Off에 따라 다른 drawable을 설정하여 ToggleButton처럼 사용하는 방법에 대해 알아보겠습니다.
먼저 아래와 같이 ImageView에 적용할 xxx_selector.xml 을 작성합니다.
xxx_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@drawable/ic_bookmark_on" />
<item
android:drawable="@drawable/ic_bookmark_off" />
</selector>
그리고 아래와 같이 ImageView에 해당 xml을 src로 지정합니다.
<android.support.v7.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/xxx_selector"/>
그럼 이제 끝났습니다. 위와 같이 생성한 ImageView는 selected의 상태에 따라 각각 다른 drawable을 보여줄 것입니다.
true이면 on 상태의 drawable을, false이면 off 상태의 drawable을 해주도록 하였는데, 그 반대도 괜찮습니다.
그리고 ImageView의 onClickListener에서 아래와 같이 selected값을 다른 값으로 설정해주면 마치 Toggle버튼처럼 잘 동작하게 됩니다.
if (subscribe != null) {
subscribe.setSelected(!subscribe.isSelected());
}
먼저 아래와 같이 ImageView에 적용할 xxx_selector.xml 을 작성합니다.
xxx_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@drawable/ic_bookmark_on" />
<item
android:drawable="@drawable/ic_bookmark_off" />
</selector>
그리고 아래와 같이 ImageView에 해당 xml을 src로 지정합니다.
<android.support.v7.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/xxx_selector"/>
그럼 이제 끝났습니다. 위와 같이 생성한 ImageView는 selected의 상태에 따라 각각 다른 drawable을 보여줄 것입니다.
true이면 on 상태의 drawable을, false이면 off 상태의 drawable을 해주도록 하였는데, 그 반대도 괜찮습니다.
그리고 ImageView의 onClickListener에서 아래와 같이 selected값을 다른 값으로 설정해주면 마치 Toggle버튼처럼 잘 동작하게 됩니다.
if (subscribe != null) {
subscribe.setSelected(!subscribe.isSelected());
}
반응형
'개발 > 안드로이드' 카테고리의 다른 글
[안드로이드/android] full screen on/off (0) | 2018.09.14 |
---|---|
[android / 안드로이드] 리스트 비교하기 (0) | 2018.09.13 |
[android / 안드로이드] SharedPreferences 기본 값 설정하기 (0) | 2018.08.28 |
[안드로이드 / android] EditText & AppCompatEditText (0) | 2018.07.19 |
[안드로이드 / android] UiAutomatorviewer Window에서 실행되지 않는 문제 (0) | 2018.07.17 |
댓글
공지사항
최근에 올라온 글