我的应用程序中有几个不同颜色的复选框。 现在当我应用材质设计主题复选框而没有样式将其颜色更改为“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的情况下为复选框设置不同的颜色?
谢谢!
答案 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>