0

当我们需要更改按钮的背景图像时,我知道如何为按钮应用选择器。我还想在按下按钮时更改文本颜色。有没有类似的方法,比如创建选择器 xml 来做到这一点?我猜另一个选项是在 onclick 方法中更改文本颜色,但我想知道是否有其他方法或更好的方法来做同样的事情。

谢谢

4

3 回答 3

2

我想,会改变 onclick 方法中的文本颜色

只需创建适当的选择器并将其分配给 TextView 颜色属性

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
      android:state_focused="true"
      android:state_pressed="true"
      android:color="somecolor" 
    />

    <item
      android:state_focused="false"
      android:state_pressed="true"
      android:color="somecolor"
    />

    <item android:color="somecolor" />

</selector>

然后是一个用法:

android:textColor="@drawable/yourselector"

我们需要改变按钮的背景图片

仅在您将使用可绘制对象更改颜色属性的项目中,背景几乎相同。

于 2013-03-25T07:46:15.643 回答
0

可绘制/now_playing_next.xml

<?xml version="1.0" encoding="UTF-8"?>
  <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true" android:drawable="@drawable/icon_down" />
     <item android:state_pressed="false" android:drawable="@drawable/icon_up" />
  </selector>

这里 icon_up 是正常状态背景图像, icon_down 是按下状态图像

接着

<Button
   android:id="@+id/MediaNextButton"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="@drawable/now_playing_next" />

更改文本使用 OnClickListener

于 2015-04-29T10:19:26.683 回答
0

您可以将代码放在按钮的 setOnClickListener 中,在那里您可以为按钮设置所需的背景和文本或任何内容。希望这对您有所帮助。

于 2013-03-25T08:49:05.957 回答