自定义Button被点击的颜色变化效果
更新:HHH   时间:2023-1-7


工作中经常会见到Button需要设置点击效果的情况,这里记录一下,仅供参考!

先上效果图:

这里没被点击的效果:

这是被点击后的效果,仔细看,边框的颜色变蓝了(因为要求粉中带蓝,所以效果不明显,可以设置)。

以下是布局:

<Button
                    android:id="@+id/btn_register"
                    android:layout_width="140dp"
                    android:layout_height="40dp"
                    android:layout_centerInParent="true"
                    android:background="@drawable/selector_register"
                    android:text="注册帐号"
                    android:textColor="#FB7299"
                    android:textSize="15sp" />

以下是设置的selector,注意这里的selector中夹带了shape

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="false">
        <shape>

            <!-- 填充的颜色,这里是按钮的背景色 -->
            <solid android:color="#F2F2F2" />

            <!-- 设置按钮的四个角为弧形 -->
            <!-- android:radius 弧形的半径 -->
            <corners android:radius="10dip" />
            <!-- 这里是没有被点击边框的颜色 -->
            <stroke android:width="2px" android:color="#FB7299" />
        </shape>
    </item>
    
    <item android:state_pressed="true">
        <shape>

            <!-- 填充的颜色 -->
            <solid android:color="#F2F2F2" />

            <!-- 设置按钮的四个角为弧形 -->
            <!-- android:radius 弧形的半径 -->
            <corners android:radius="10dip" />
            <!-- 这里是被点击后边框的颜色 -->
            <stroke android:width="2px" android:color="#BC627B" />
        </shape>
    </item>

</selector>

注意:在shape里面还设置了Button的圆角弧度

返回移动开发教程...