这是一个按钮选择器,正常时它显示为红色,按下时它显示为灰色。

我想问一下如何对代码进行进一步的直接修改,以便在按下时也可以更改文本的大小和颜色?非常感谢!

<item android:state_pressed="true" >
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <stroke android:width="2dp" android:color="@color/black" />
        <solid android:color="@color/grey"/>
        <padding android:left="5dp" android:top="2dp"
            android:right="5dp" android:bottom="2dp" />
        <corners android:radius="5dp" />
    </shape>
</item>

<item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <stroke android:width="2dp" android:color="@color/black" />
        <solid android:color="#FF6699"/>
        <padding android:left="5dp" android:top="2dp"
            android:right="5dp" android:bottom="2dp" />
        <corners android:radius="5dp" />
    </shape>
</item>

最佳答案

您只需要在布局文件中设置selectorbutton

<Button
     android:id="@+id/button1"
     android:background="@drawable/selector_xml_name"
     android:layout_width="200dp"
     android:layout_height="126dp"
     android:text="Hello" />

并做了。

编辑

以下是button_effect.xml目录中的drawable文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item>
    <item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/numpad_button_bg_normal"></item>

</selector>

在这里,您可以看到有3个可绘制对象,您只需要将此button_effect样式放置到button中即可,就像我在上面写的那样。您只需要将selector_xml_name替换为button_effect即可。

10-07 19:19