【发布时间】:2011-03-12 15:41:30
【问题描述】:
我想要一个自定义星标,而不是对图标进行复选标记(我有选中和未选中的图标)。这可以通过财产来完成吗?还是我必须声明一个派生自 Checkbox 的自定义小部件?
【问题讨论】:
标签: java android checkbox icons
我想要一个自定义星标,而不是对图标进行复选标记(我有选中和未选中的图标)。这可以通过财产来完成吗?还是我必须声明一个派生自 Checkbox 的自定义小部件?
【问题讨论】:
标签: java android checkbox icons
一种混合:
在你的布局文件中设置它:-
<CheckBox android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="new checkbox"
android:background="@drawable/checkbox_background"
android:button="@drawable/checkbox" />
@drawable/checkbox 的样子:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:state_focused="true"
android:drawable="@drawable/checkbox_on_background_focus_yellow" />
<item android:state_checked="false" android:state_focused="true"
android:drawable="@drawable/checkbox_off_background_focus_yellow" />
<item android:state_checked="false"
android:drawable="@drawable/checkbox_off_background" />
<item android:state_checked="true"
android:drawable="@drawable/checkbox_on_background" />
</selector>
【讨论】:
android:button 属性不适用于棒棒糖之前的设备
它是android:button="@drawable/selector_checkbox"
让它发挥作用
【讨论】:
这可以通过使用AppCompatCheckBox 来实现。您可以使用app:buttonCompat="@drawable/selector_drawable" 更改选择器。
它适用于 PNG,但我没有找到一种适用于 Vector Drawable 的方法。
【讨论】:
我意识到这是一个老问题,并且 OP 正在谈论使用不需要“复选框”外观的自定义 gx,但是这里有一个用于生成自定义彩色资产的绝佳资源:http://kobroor.pl/
只要给它相关的细节,它就会吐出带有 xml 资源的图形,你可以直接放入。
【讨论】:
另一种选择是使用可绘制/文本视图而不是复选框并相应地对其进行操作。我已经使用这种方法为任务应用程序拥有自己的已选中和未选中的图像。
【讨论】: