我正在尝试为所有复选框设置自定义背景。这就是我所拥有的:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="Theme.Foo" parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:checkboxStyle">@style/MyCheckbox</item>
</style>
<style name="MyCheckbox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item android:state_checked="true" android:drawable="@drawable/checkboxChecked" /> // unbound prefix error here.
<item android:state_checked="false" android:drawable="@drawable/checkboxUnchecked" />
</style>
</resources>
但是当我尝试构建时,我在state_checked =&#34; true&#34;的行上得到一个未绑定的前缀错误。我错过了什么?
答案 0 :(得分:3)
您正试图在样式中添加selector drawable
,这会给您编译时错误。
<强>溶液强>
您需要在drawable
中创建一个xml文件作为selector
,并将您的样式中的xml用作背景
<强>样品:强>
在checkbox_selector
或您想要的任何名称中创建一个名为drawable folder
的可绘制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/checkboxChecked" /> // unbound prefix error here.
<item android:state_checked="false" android:drawable="@drawable/checkboxUnchecked" />
</selector>
在你的风格中使用那个drawable
<style name="MyCheckbox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:background">@drawable/checkbox_selector</item>
</style>