<Button> 点击时更改颜色?


<Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="Add"
        android:id="@+id/btnAdd"
        android:background="#ff6347"
        android:textColor="#f8f8f8"
        android:layout_marginTop="36dp"
        android:clickable="true"
        android:layout_below="@+id/txtAddress"
        android:layout_centerHorizontal="true"
        android:focusable="true" />

这是我的XMLButton元素,它很好。。。但我想在按下时让大家知道。我如何才能让它在按压时和不按压时有不同的造型?

您可以使用选择器并为不同的状态使用dratables。

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

您也可以使用OnTouchListener,在ACTION_DOWNACTION_UP上设置按钮的颜色

您希望使用选择器作为按钮的背景。基本上,你可以为按钮的每个状态定义不同的形状,形状包括颜色、圆角半径和其他很酷的东西。

XML文件保存在res/drawable/button.XML:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"> <!-- pressed -->
            <shape android:shape="rectangle" >
                <solid android:color="@color/blue" />
            </shape>
        </item>
        <item> <!-- default -->
            <shape android:shape="rectangle" >
                <solid android:color="@color/red" />
            </shape>
        </item>
    </selector>

此布局XML将可绘制的状态列表应用于按钮:

<Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:background="@drawable/button" />

相关内容

  • 没有找到相关文章