通过xml更改切换按钮文本颜色
Posted
技术标签:
【中文标题】通过xml更改切换按钮文本颜色【英文标题】:change toggle button text color through xml 【发布时间】:2014-09-03 03:31:40 【问题描述】:您好,我正在尝试通过 xml 更改 切换按钮文本的颜色。
我提到了链接,但它只改变了切换按钮的背景颜色,而不是它的文本。
我尝试过这种方法:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="#ffffff" />
<item android:state_checked="false" android:color="#000000" />
</selector>
但只有背景在改变。
注意:我不想在代码中这样做,因为有 21 个切换按钮,并且为每个按钮设置侦听器并不好。
【问题讨论】:
http://***.com/questions/14065200/android-toggle-text-color-of-togglebutton 我正在这样做<ToggleButton android:id="@+id/toggleButton" style="@style/toggleButton"/>
` <style name="toggleButton" parent="@android:Theme.Black"> <item name="android:textColor">@color/color</item> </style>
这有什么问题?跨度>
@yasshy 不要创建Style
,而是尝试将Drawable
设置为您的Toggle Button
,例如android:textColor="@drawable/text_color_selector"
而不是 style="@style/toggleButton"
尝试使用 android:background="@style/toggleButton"
显示通货膨胀错误。
【参考方案1】:
您不应将小部件样式的父级设置为主题。相反,您需要将其设置为您要修改的默认小部件样式(例如 @android:style/Widget.Holo.Button.Toggle)。
但是,在您的情况下,您不需要使用样式:
res/color/toggle_text.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="#ffffff" />
<item android:color="#000000" />
</selector>
res/layout/your_layout.xml:
...
<ToggleButton
android:id="@+id/toggleButton"
...
android:textColor="@color/toggle_text" />
【讨论】:
谢谢,我没注意到android:textColor
是必需的属性。以上是关于通过xml更改切换按钮文本颜色的主要内容,如果未能解决你的问题,请参考以下文章