将复选框样式更改为Cross - Android

时间:2013-03-14 17:11:55

标签: java android

我一直在编写Android应用程序,并使用CheckBox进行GUI。

通常,CheckBox的格式为green colored tick,但我想将其设为red colored cross

怎么做。请帮忙。

4 个答案:

答案 0 :(得分:2)

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

示例:

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>

答案 1 :(得分:2)

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

查看herehere

来源:Android: Set color of 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>

答案 2 :(得分: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。

答案 3 :(得分:1)

我认为this链接非常重要。阅读Jean的回答:

  

Checkbox是Button的孩子,你可以给你一个复选框   这里描述的几种状态的背景图像,在“按钮下   样式”:   http://developer.android.com/reference/android/widget/Button.html

     

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