私は解決策を見つけました。
重要なのは、TextColorをinに設定することにもありselector
ますres/colors
。
android:textColor="@color/button_text"
android:background="@drawable/button_selector"
バックグラウンドセレクターには、これを使用しました。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="false" android:drawable="@drawable/btn_buddy_enabled"></item>
<item android:state_enabled="false" android:drawable="@drawable/btn_buddy_disabled"></item>
<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/btn_buddy_clicked"></item>
</selector>
そして、textColorセレクターはこれです:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="false" android:color="@color/White"></item>
<item android:state_enabled="false" android:color="@color/Gray"></item>
<item android:state_enabled="true" android:state_pressed="true" android:color="@color/White"></item>
</selector>
電話setEnabled()
をかけるだけで、すべてが正常に機能します。