我一直在编写一个 Android 应用程序,并CheckBox
用于 GUI。
一般的风格CheckBox
是a green colored tick
,但我想做red colored cross
。
怎么做。?请帮忙。
采用一个自定义可绘制选择器,其中一个图像用于未选中状态,另一个图像用于选中状态,并将其设置为复选框的可绘制资源
例子:
在res/drawable文件夹中创建一个 xml 文件
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true" android:drawable="@drawable/crossimagecheckbox" />
<item android:state_checked="false" android:drawable="@drawable/uncheckecheckbox" />
</selector>
您可以设置复选框的任何颜色的刻度线。但您需要为此制作自定义复选框。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/cbchk_blue"
android:state_focused="false">
<shape android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/blue_dark" />
<gradient android:endColor="@color/white" android:startColor="@color/blue_dark" android:type="sweep" />
<size android:height="30dp" android:width="30dp" />
</shape>
</item>
<item android:state_checked="true"
android:drawable="@drawable/cbchk_blue"
android:state_focused="true">
<shape android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/white" />
<gradient android:endColor="@color/white" android:startColor="@color/blue_dark" android:type="sweep" />
<size android:height="30dp" android:width="30dp" />
</shape>
</item>
<item android:state_checked="false"
android:drawable="@drawable/cbunchk_blue"
android:state_focused="false">
<shape android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/blue_dark" />
<size android:height="30dp" android:width="30dp" />
</shape>
</item>
<item android:state_checked="false"
android:drawable="@drawable/cbunchk_blue"
android:state_focused="true">
<shape android:shape="rectangle">
<stroke android:width="2dp" android:color="@color/white" />
<size android:height="30dp" android:width="30dp" />
</shape>
</item>
您需要为复选框创建一个选择器。
在布局复选框中添加以下内容:
android:background="@drawable/checkbox_selector"
在 checkbox_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false"
android:drawable="@drawable/normal_picture" />
<item android:state_checked="true"
android:drawable="@drawable/checked_picture" />
</selector>
现在根据您的要求创建 normal_picture 和 checked_picture 。
我相信这个链接是高度相关的。阅读让的回答:
复选框是 Button 的子项,您可以在“按钮样式”下为复选框提供具有多种状态的背景图像:http: //developer.android.com/reference/android/widget/Button.html
...并在这里举例说明:http: //developer.android.com/guide/topics/resources/drawable-resource.html#StateList