【问题标题】:change toggle button text color through xml通过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 个切换按钮,并且为每个按钮设置侦听器并不好。

【问题讨论】:

  • 我正在这样做 &lt;ToggleButton android:id="@+id/toggleButton" style="@style/toggleButton"/&gt; ` schemas.android.com/apk/res/android"> `&lt;style name="toggleButton" parent="@android:Theme.Black"&gt; &lt;item name="android:textColor"&gt;@color/color&lt;/item&gt; &lt;/style&gt;这有什么问题?跨度>
  • @yasshy 不要创建Style,而是尝试将Drawable 设置为您的Toggle Button,例如android:textColor="@drawable/text_color_selector"
  • 而不是 style="@style/toggleButton" 尝试使用 android:background="@style/toggleButton" 显示通货膨胀错误。

标签: android toggle android-button togglebutton android-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 是必需的属性。
猜你喜欢
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
  • 2016-09-11
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多