我试图在按钮在选中状态和非选中状态之间切换时更改按钮文本颜色和按钮背景颜色。背景完美地工作,但文本只显示为粉色(默认的colorPrimary
,我已经更改了它)。
res/drawable/map_button_background.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false">
<shape android:shape="rectangle">
<corners android:radius="4dp"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
<item android:state_selected="true">
<shape android:shape="rectangle">
<corners android:radius="4dp"/>
<solid android:color="@color/colorPrimary"/>
</shape>
</item>
</selector>
res/drawable/map_button_text.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false">
<color android:color="@color/colorPrimary"/>
</item>
<item android:state_selected="true">
<color android:color="@android:color/white"/>
</item>
</selector>
res/styles/styles.xml
<style name="Button.Map">
<item name="android:layout_height">0dp</item>
<item name="android:layout_weight">1</item>
<item name="android:layout_margin">4dp</item>
<item name="android:background">@drawable/map_button_background</item>
<item name="android:textColor">@drawable/map_button_text</item>
</style>
此外,文本颜色从未改变,它始终保持为粉色。我尝试添加
<item android:color="@color:/colorPrimary"/>
作为默认值,但仍然无效。你有什么想法是什么原因导致这种情况?
res/color
而不是res/drawable
中。 - Uilque Messias