Cod*_*oid 13 android android-widget android-layout
对于特定的CheckBox,如何将Android复选框的默认颜色从绿色复选标记更改为蓝色?
Hex*_*ugs 22
不幸的是,改变颜色不是一个简单的属性.选中标记是图像,因此您必须创建自定义图像.看看这个例子
创建一个选择器xml文件,如下所示:
<?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/star_down" />
<item android:state_checked="false" android:drawable="@drawable/star" />
</selector>
Run Code Online (Sandbox Code Playgroud)
将此xml文件保存在您的res\drawables\文件夹中.然后在你的布局文件中将它应用到你的checkBox,如下所示:
<CheckBox
android:text="Custom CheckBox"
android:button="@drawable/checkbox_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)
在此示例中,您将选择器xml文件命名为"checkbox_selector.xml",并且您还需要drawables文件夹中的star_down.png和star.png.您可以使用此技术创建不同颜色的复选框,方法是将系统复选框图像更改为您想要的任何颜色,并在选择器中引用已更改的png文件.
这在xml中很容易使用buttonTint(从API级别23开始):
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/COLOR_HERE" />
Run Code Online (Sandbox Code Playgroud)
正如Nicolás指出的那样,你可以使用appCompatCheckbox v7旧的API:
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/COLOR_HERE" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18869 次 |
| 最近记录: |