android - 样式复选框和单选按钮

Ale*_*kov 0 android android-layout material-design

我正在尝试设计我的应用程序并制作自己的主题,但我遇到了一些问题,因为我需要一些不寻常的行为。

我与父母一起使用 Material Design 主题 Theme.AppCompat.Light.DarkActionBar

概述

视图有颜色:

  • 文字是textColorPrimary, textColorSecondary,textColorTertiary
  • 按钮是未知的灰色
  • 按钮文字是textColorPrimary(?)
  • 复选框和单选按钮未选中的边框是 textColorSecondary
  • 复选框、单选按钮、滑块等颜色是 colorAccent

但是我需要

  • 按钮有accentColor背景和白色文本
  • 所有文本 ( textColorPrimary, textColorSecondary, textColorTertiary) 都是深绿色的变体
  • 复选框,单选按钮在选中和未选中时也应该是原色。

我的风格

按钮

所以,我创造风格 Button.Default

<style name="Button.Default" parent="Widget.AppCompat.Button">
    <item name="colorButtonNormal">@color/colorAccent</item>
    <item name="android:textColor">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

并在我的主题中使用它:

<item name="android:buttonStyle">@style/Button.Default</item>
Run Code Online (Sandbox Code Playgroud)

好的,颜色改变了,但背景没有。我将此行添加到主题样式:

<item name="colorButtonNormal">@color/colorFakeAccent</item>
Run Code Online (Sandbox Code Playgroud)

好的

复选框

<style name="Checkbox.Default" parent="Widget.AppCompat.CompoundButton.CheckBox">
    <item name="android:textColor">@color/colorPrimary</item>
    <item name="colorAccent">@color/colorPrimary</item>
</style>
Run Code Online (Sandbox Code Playgroud)

复选框样式没有改变。如何设置复选框、单选按钮未选中和选中颜色?

Kru*_*tik 7

使用<item name="colorControlNormal"> <item name="colorControlActivated">的复选框的变色