2

我一直在编写一个 Android 应用程序,并CheckBox用于 GUI。

一般的风格CheckBox是a green colored tick,但我想做red colored cross

怎么做。?请帮忙。

4

4 回答 4

2

采用一个自定义可绘制选择器,其中一个图像用于未选中状态,另一个图像用于选中状态,并将其设置为复选框的可绘制资源

例子:

在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>
于 2013-03-14T17:13:56.257 回答
2

您可以设置复选框的任何颜色的刻度线。但您需要为此制作自定义复选框。

看看这里这里

来源:Android:设置 CheckBox 的颜色

<?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>
于 2013-03-14T17:15:04.180 回答
2

您需要为复选框创建一个选择器。

在布局复选框中添加以下内容:

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 。

于 2013-03-14T17:15:16.997 回答
1

我相信这个链接是高度相关的。阅读让的回答:

复选框是 Button 的子项,您可以在“按钮样式”下为复选框提供具有多种状态的背景图像:http: //developer.android.com/reference/android/widget/Button.html

...并在这里举例说明:http: //developer.android.com/guide/topics/resources/drawable-resource.html#StateList

于 2013-03-14T17:15:11.863 回答