【问题标题】:Button's textColor won't change in AndroidButton 的 textColor 在 Android 中不会改变
【发布时间】:2015-11-11 14:31:08
【问题描述】:

我想在按钮状态更改时更改按钮的文本颜色。例如,当按钮被禁用时,我希望它的颜色是灰色的,当它被启用时,我希望它是白色的等等。所以,为了实现这一点,我在我的 styles.xml 文件中做到了这一点:

res/drawable/styles.xml

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    ..
    <item name="android:buttonStyle">@style/AppTheme.Button</item>
    ..
</style>

<style name="AppTheme.Button" parent="android:Widget.Button">
    <item name="android:background">@drawable/shadow_button</item>
    <item name="android:textColor">@drawable/shadow_button_text</item>
    ...
</style>

我根据 shadow_button 资源 XML 文件中的状态定义了按钮的行为。我决定制作一个新的,以便根据状态更改文本颜色,如this post中所建议的那样:

res/drawable/shadow_button_text.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true" android:color="@color/darkRed" />
    <item android:state_pressed="true" android:color="@color/darkRed" />
    <item android:state_enabled="false" android:color="@color/darkGrey" />
    <item android:color="@color/darkRed" />
</selector>

不幸的是,没有任何变化 - 颜色的文本保持白色。我做错了什么?

编辑: 对不起,伙计们,原来我在测试上述代码的活动中的一个按钮上留下了 textColor="white" 。我删除了这个标签,一切正常。

【问题讨论】:

  • 您还有其他styles.xml 文件吗?此代码工作正常。
  • 你的意思是这里?按钮禁用意味着不可点击的仪式!?
  • 可能是错字,但将您的 styles.xml 移动到 res/values/
  • 对不起,伙计们,原来我在测试上述代码的活动中的一个按钮上留下了 textColor="white"。我删除了这个标签,一切正常。

标签: android button text colors drawable


【解决方案1】:

你可能是在设置按钮提示而不是文本?因为文本颜色只应用于设置文本而不是提示,只是一个检查

【讨论】:

    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多