I feel like this is kind of a silly question, but here I go anyways. I have an image button, and I want to be able to change it's image everytime it is clicked. The API seems to say that the best way to go about doing this is to create xml resource in the drawable folder that contains a selector and values. However when I go to make a new android xml resource, there's no option for drawables. What am I missing?
Android: How to Make A Drawable Selector
You can add this in Android Studio, use Right click on project structure -> New -> Drawable resource file
. It should look like this:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:drawable="@drawable/cell_top_selected" />
<item android:drawable="@drawable/cell_top" />
</selector>
Should a selector (color/drawable) always have a default value? If you match all possible cases, it should be fine too, right? What happens if you don't match at all? Will the app crash? –
Trifid
You can try this also as a selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:drawable="@drawable/button_1_selected" android:state_pressed="true"/>
<!-- focused -->
<item android:drawable="@drawable/button_1_normal" android:state_focused="true"/>
<!-- default -->
<item android:drawable="@drawable/button_1_normal"/>
</selector>
© 2022 - 2024 — McMap. All rights reserved.