使用<selector>更改按钮文本

use*_*rbb 5 android

我正在使用选择器来改变按钮的颜色.我试图对文本属性做同样的事情.是否有可能以这种方式更改文本?

har*_*ore 5

据我所知,您无法执行此操作,因为android:text=""将字符串或字符串资源ID作为参数。例如,如果您执行以下操作:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:text="SECOND" />
    <item android:state_focused="true" android:state_pressed="true" android:text="SECOND" />
    <item android:state_focused="false" android:state_pressed="true" android:text="SECOND" />
    <item android:text="FIRST" />
</selector>
Run Code Online (Sandbox Code Playgroud)

,就像我们更改文本颜色或背景的方式一样,它将把该选择器的路径作为您的按钮文本。它将类似于:res/drawable/text_selector.xml或每当您放置此文件时。

因此,实现此目标的唯一方法是在button中手动控制它OnClickListener