【问题标题】:How to change textColor of a button from XML in Android?如何在 Android 中从 XML 更改按钮的 textColor?
【发布时间】:2011-07-28 13:55:30
【问题描述】:

我正在使用selector 更改按钮在不同状态(聚焦、按下、正常)下的背景可绘制对象。有没有办法改变文字颜色呢?我想为各种按钮状态提供各种文本颜色,但我想从 xml 中做到这一点。这可能吗?

【问题讨论】:

    标签: android button android-layout selector


    【解决方案1】:

    是的,它可以做到。您只需对可绘制按钮执行相同的操作即可。然后赋值给android:textColor="@drawable/yourselector"

    【讨论】:

    • 这是个好主意。我会试试的。
    • 太棒了!我从来没有想过!
    • 对我来说它给出了 android.content.res.Resources$NotFoundException: File res/drawable-hdpi/btn_text.xml from color state list resource ID #0x7f020001 ..任何建议?
    【解决方案2】:
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
         <item android:state_pressed="true"
               android:color="#000000" /> <!-- pressed -->
         <item android:state_focused="true"
               android:color="#000000" /> <!-- focused -->
         <item android:color="#FFFFFF" /> <!-- default -->
    </selector>
    

    尝试将上述内容与android:drawable 属性结合起来。

    【讨论】:

      【解决方案3】:

      如果是编程方式,您可以使用:

      Button button = findViewById(R.id.yourbutton);
      button.setTextColor(Color.yourcolor);
      

      在 xml 中也是一样的。

      【讨论】:

        【解决方案4】:

        focused 的选择器中使用android:color="#ff0000" 并为default 状态使用另一种颜色。然后在按钮android:textColor="@drawable/yourselector" 的xml 中

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-25
          相关资源
          最近更新 更多