android九补丁文本颜色更改

android九补丁文本颜色更改,android,button,nine-patch,rollover,Android,Button,Nine Patch,Rollover,我有一个按钮定义为九个补丁,如下所示: <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/matita" android:layout_gravity="center

我有一个按钮定义为九个补丁,如下所示:

<Button     android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/matita"
            android:layout_gravity="center" 
            android:textSize="22sp"
            android:text="@string/menu_help" /> 

在该按钮中有一个文本,例如“我的文本”,该文本为黑色。我的问题是,当按下按钮时,我只想更改文本颜色。我怎么能做到? 提前感谢。

您需要使用

drawable/textColor.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:color="@color/testcolor1"/>
    <item android:state_pressed="true" android:state_enabled="false" android:color="@color/testcolor2" />
    <item android:state_enabled="false" android:color="@color/testcolor3" />
    <item android:color="@color/testcolor5"/>
</selector>

您需要使用选择器来执行此操作

在drawable文件夹中,创建一个文件,例如dynamic_color_button,并将其写入其中:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:color="#000000" />
    <item android:state_focused="true" android:state_pressed="true" android:color="#FF0000" />
    <item android:state_focused="false" android:state_pressed="true" android:color="#FF0000" />
    <item android:color="#000000" />
</selector>

然后在按钮中,使用textColor访问它:

<Button     android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/matita"
            android:layout_gravity="center" 
            android:textSize="22sp"
            android:textColor="@drawable/dynamic_color_button"
            android:text="@string/menu_help" /> 

<Button     android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/matita"
            android:layout_gravity="center" 
            android:textSize="22sp"
            android:textColor="@drawable/dynamic_color_button"
            android:text="@string/menu_help" />