在安卓系统中更改开关的颜色

我正在尝试在 Android 中更改开关的颜色。我意识到我需要新的9个面纱。我走到 http://android-holo-colors.com/,选择了我的颜色,然后选择了(Switch Jelly Bean)。要使用Switch Jelly Bean,我不得不使用:https://github.com/BoD/android-switch-backport。要将其导入我的项目,我必须添加:

<item name="switchStyle">@style/Widget.Holo.CompoundButton.Switch</item>

到我的样式,然后在xml中,我必须像这样使用开关:

<org.jraf.android.backport.switchwidget.Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

现在,使用开关的一切工作正常。接下来,我从Android全息颜色生成器输出的所有内容并将其放入正确的文件中:

  • 可绘制(2 个选择器文件)
  • 可绘制 hdpi (9 补丁文件)
  • 可绘制 xhdpi (9补丁文件)
  • 可绘制的 xxhdpi (9补丁 文件)

然后我添加到我的xml中:

<org.jraf.android.backport.switchwidget.Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/apptheme_switch_inner_holo_light"
android:track="@drawable/apptheme_switch_track_holo_light" />

但它仍然是原始的蓝色。我相信我做对了一切。一切都编译(xml,java)。注意:我也在Java中导入。有什么想法吗?org.jraf.android.backport.switchwidget.Switch


答案 1

根据这个,(由BoD复制粘贴直接回答):

  • 您不得使用 和 ,而必须使用 和 并且必须将以下内容添加到 xml 文档的根目录:android:thumbandroid:trackapp:thumbapp:track

    xmlns:app="http://schemas.android.com/apk/res-auto"


答案 2

最简单的方法在Android棒棒糖及以上,

<style name="AppTheme" parent="MaterialTheme.Light">
    ...
    <item name="android:colorControlActivated">@color/color_switch</item>
</style>

推荐