Android棒棒糖更改复选框颜色

时间:2014-11-05 09:14:58

标签: android android-5.0-lollipop android-checkbox

我的应用程序中有几个不同颜色的复选框。 现在当我应用材质设计主题复选框而没有样式将其颜色更改为“colorControlActivated”时,复选框的样式保持不变。

此外,我想更改其他复选框的颜色而不使用drawables文件。

我尝试使用不同的“colorControlActivated”颜色设置样式

<style name="CheckBox.Custom" parent="@style/Theme.Material.Blue">
    <item name="colorControlActivated">@color/custom_color</item>
</style>

但它不起作用,我也尝试创建如下的复选框:

ContextThemeWrapper ctw= new ContextThemeWrapper(getActivity(), R.style.CheckBox_Info);
Checkbox cb = new CheckBox(ctw);

并且颜色没有改变。

使用SwitchCompat控件的相同代码。

现在有人如何在没有drawable的情况下为复选框设置不同的颜色?

谢谢!

2 个答案:

答案 0 :(得分:0)

这对我有用。请注意android命名空间。

<style name="CheckBox.Custom" parent="@style/Theme.Material.Blue">
    <item name="android:colorControlActivated">@color/custom_color</item>
</style>

答案 1 :(得分:0)

您可以直接在xml中设置颜色。使用boxTint作为框:(从API级别23开始)

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:buttonTint="@color/CHECK_COLOR" />

您也可以使用appCompatCheckbox v7为旧版API执行此操作:

<android.support.v7.widget.AppCompatCheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:buttonTint="@color/COLOR_HERE" /> 

在styles.xml文件中添加以下行:

<style>
    <item name="android:colorAccent">@color/custom_color</item>
</style>
相关问题