android - v21 之前的着色复选框

标签 android checkbox

所以,我想对 AppCompat Checkbox 应用 tint。

在 Lollipop 上一切正常:

android:buttonTint="@color/purple_FF4081"

或者这样:

android:theme="@style/Theme.MyTheme.PurpleAccent"

但设置任何此参数都不会改变 Lollipop 之前的任何内容。仅当我为应用程序主题设置 colorAccent 时才有效。但我不希望所有小部件都改变它们的外观,只需要一个复选框。 有没有办法在不设置彩色绘图的情况下做到这一点?

最佳答案

请注意,在引入 AppCompatActivity 和新的支持库 for reference (outlined beautifully here) 后,这一切都发生了变化。可以通过使用 theme 属性并设置 colorControlNormalcolorControlActivated 为复选框着色:

styles.xml

<style name="MyCheckBox" parent="Theme.AppCompat.Light">  
<item name="colorControlNormal">@color/indigo</item>
<item name="colorControlActivated">@color/pink</item>
</style> 

布局xml:

<CheckBox  
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:text="Check Box"
        android:theme="@style/MyCheckBox"/>

关于android - v21 之前的着色复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532045/

相关文章:

android - 如何跟踪系统时钟?

Android:在 fragment 之间传递一个 JSONobject

c# - 替换 fragment - fragment 类的新实例未实例化

PHP-将带有复选框的多个类别添加到mysql中

java - 我的复选框列表未填充相应的值

java - 如何判断 Selenium for Java 中是否选中了一个复选框?

jQuery 如果选中复选框则禁用其他复选框

java - 根据用户的角色具有不同 UI 的单个应用程序

android - 来自 HTC EVO 3D 的深度图

javascript - 为什么不以 block 模式显示复选框? - Javascript