如何更改 Android 上的 CheckBox 焦点颜色?
How can I change the CheckBox focus color on Android?
我想更改选中复选框时可见的复选框“轮廓”颜色,以便在通过键盘或方向键使用应用程序时提高当前选中项的可见性。我该怎么做?
我的意思的形象:
Focused CheckBox on Android
编辑: 在为我的意思找到正确的措辞(“波纹颜色”)后,我设法将其更改为:
<item name="colorControlHighlight">#00f</item>
但这只适用于未选中的复选框。有人知道如何将它应用于所有(也选中)复选框吗?
Image of colorControlHighlight effect on checked and unchecked checkboxes
您可以查看此博客:AppCompat themes
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>
感谢@special 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>
我想更改选中复选框时可见的复选框“轮廓”颜色,以便在通过键盘或方向键使用应用程序时提高当前选中项的可见性。我该怎么做?
我的意思的形象: Focused CheckBox on Android
编辑: 在为我的意思找到正确的措辞(“波纹颜色”)后,我设法将其更改为:
<item name="colorControlHighlight">#00f</item>
但这只适用于未选中的复选框。有人知道如何将它应用于所有(也选中)复选框吗? Image of colorControlHighlight effect on checked and unchecked checkboxes
您可以查看此博客:AppCompat themes
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>
感谢@special 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>