2013-03-14 72 views
2

我一直在编写Android应用程序,并且使用CheckBox进行GUI。将复选框样式更改为Cross - Android

一般来说,CheckBox的风格是green colored tick,但我想让它red colored cross

怎么办?请帮忙。

+0

我想改变风格..不是颜色。改变颜色只是问题的一部分。主要部分是如何将“tick”更改为“X” – 2013-03-14 17:20:52

回答

2

您可以设置复选框的勾号的任何颜色。但是您需要为此自定义复选框。

Look here and here

来源: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> 
+0

如何使用Java代码执行此操作。 – 2013-03-14 17:23:03

+0

''标签做什么?我以前没有经过过这个标签。 – 2013-03-14 17:24:35

+0

@VeerShubhranshuShrivastav使用标签创建XML格式的可绘制对象,例如:圆角。 (你可以使用形状标记来做其他事情,比如定义一个颜色渐变) – 2013-03-14 17:27:08

1

以自定义绘制对象选择与选中的状态一幅图像,另一个为选中状态,并将其设置为绘制资源为你的复选框

例子:

创建资源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

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

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

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。