Android 主题更改复选框项目文本颜色

标签 android android-theme

如何在 Android Studio 的 styles.xml 中更改复选框 View 的文本颜色?

我想创建一个主题,其中所有复选框项目的颜色都不同于默认的黑色,例如:

enter image description here

除非我希望框本身与文本颜色相同。

我应该在主题中使用以下内容吗?

<item name="android:checkboxStyle">@style/App_CheckboxStyle</item>

最佳答案

我知道很久以前就有人问过这个问题,但我想添加我的解决方案。它适用于所有 SDK 版本。

你是对的,为了改变整个项目中的 CheckBox 样式,你必须将这行添加到你的主题中:

<style name="AppTheme" parent="Theme.AppCompat">
    ...
    <item name="android:checkboxStyle">@style/MyCheckBoxStyle</item>
    ...
</style>

还有样式本身,您可以在其中设置自定义文本和复选框颜色:

<style name="MyCheckBoxStyle" parent="Widget.AppCompat.CompoundButton.CheckBox">
    <item name="android:textColor">@android:color/holo_purple</item>
    <item name="buttonTint">@android:color/holo_purple</item>
</style>

注意: android: 前缀表示属性链接到 SDK 属性。如果删除它,该属性将链接到支持库。这就是系统将 buttonTintandroid:buttonTint 视为不同参数的原因。如果您的最低 SDK 是 21,则不需要使用支持库,您可以简单地使用 android:buttonTint

关于Android 主题更改复选框项目文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33050300/

相关文章:

android - Android 中加载大量大图像

Android在主题中全局设置编辑文本样式不起作用

java - 具有基本安全性的 REST Web 服务的 Android 客户端

android - 更改 Android 蓝色配色方案

android - 无法在 ActionBarActivity 中创建 alertDialog

android - 具有继承 AppCompat 主题的图标的动态微调器

安卓 : Change theme background of Popup menu

android - 处理 Activity 和 Thread 之间关系的常见做法是什么

android - 如何从 adb 启动 Airdroid 网络服务器?

java - 任何字母、数字和 "normal"字符的正则表达式