我想创建一个选择器为纯色的形状。
在Android 5.0+上,此代码可以正常运行,但在4.X上,它不起作用。
shape.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/my_selector"/>
<size android:height="40dp" android:width="40dp"/>
<corners android:radius="10dp" />
</shape>
my_selector.xml
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:color="@color/color_1"
android:state_checked="false"/>
<item
android:color="@color/color_2"
android:state_checked="true"/>
</selector>
此drawable适用于CheckBox
背景。
答案 0 :(得分:4)
你应该改变命令来写这样的状态并在项目中使用你的形状:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<shape android:shape="rectangle" >
<solid android:color="@color/my_selector"/>
<size android:height="40dp" android:width="40dp"/>
<corners android:radius="10dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<solid android:color="@color/my_deselec"/>
<size android:height="40dp" android:width="40dp"/>
<corners android:radius="10dp" />
</shape>
</item>
</selector>
答案 1 :(得分:1)
以这种方式使用
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>.......</shape>
</item>