我有一个按钮,我定义了两个选择器,一个用于文本,一个用于背景。
文本颜色选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/yellow" android:state_activated="true" />
<item android:color="@color/pink" android:state_activated="false" />
</selector>
背景选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/image_no_selected" android:state_activated="true" />
<item android:drawable="@drawable/image_selected" android:state_activated="false" />
</selector>
xml中的按钮
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/myButton"
....
android:background="@drawable/selector_background"
...
android:textColor="@drawable/selector_text_color"
/>
当我按下按钮,我想改变状态,所以我把这个:
myButton.isSelected = isSelected //boolean that changes true or false
但即使我换了按钮也不换吗 isSelected
我错过了什么?
1条答案
按热度按时间nkcskrwz1#
选定的与激活的不同。您需要使用:
myButton.isActivated = ...
或者改变android:state_activated
至android:state_selected
:(顺便说一句,你的名字好像是可以画出来的,或者倒过来了)