如何在Android上更改复选框焦点颜色



我想更改复选框"大纲";颜色,聚焦复选框时可见,以便在使用带有键盘或方向盘的应用程序时提高当前聚焦项目的可见性。我该怎么做?

我的意思是:Android 上的焦点复选框

编辑:在找到我的意思的正确措辞("波纹色"(后,我设法将其更改为:

<item name="colorControlHighlight">#00f</item>

但这只适用于未选中的复选框。有人知道如何将其应用于所有(也选中(复选框吗?颜色控制图像选中和未选中复选框上的突出显示效果

感谢@specific N9NE

这项工作:定义自己的波纹ripple_bg.xml:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/accent_26" />

并将其设置为背景(全局(:

<resources>
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<!-- ... -->
<!-- custom checkbox style to improve visibility on special (TV) devices -->
<item name="android:checkboxStyle">@style/MyCheckBoxStyle</item>
</style>
<style name="MyCheckBoxStyle" parent="Widget.AppCompat.CompoundButton.CheckBox">
<item name="android:background">@drawable/ripple_bg</item>
</style>
</resources>

您可以查看此博客:AppCompat主题

colorControlHighlight is for ripple color

因此,尝试创建一个ThemeOverlay.AppCompat主题,在那里您将设置所需颜色的值,这将允许您更改该视图及其子视图的波纹颜色。

要针对主题中的波纹,请使用此属性:

android:colorControlHighlight

您可以使用主题属性:

app:theme="@style/MyCheckboxStyle"

然后将其添加到style.xml文件中:

<style name="MyCheckboxStyle" parent="AppTheme">
<item name="colorAccent">@color/colorAccent</item>  // color when checkbox is checked 
<item name="android:textColorSecondary">@color/colorSecondary</item>  // when it is unchecked
</style>

最新更新