1. 程式人生 > >在Android studio中設定按鈕點選變色效果的方法

在Android studio中設定按鈕點選變色效果的方法

一、在drawable下新建一個xml 名字"test"
程式碼如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false"><!--沒點選按鈕的時候-->
        <shape android:shape="rectangle"><!--按鈕形狀-->
            <solid android:color="#a8f9f7" /><!--按鈕背景填充色-->
            <stroke
                android:width="1dp"
                android:color="@color/colorBlack" /><!--按鈕邊框-->
        </shape>
    </item>

<!--當點選按鈕的時候變為藍色-->
    <item android:drawable="@color/colorPrimary" android:state_pressed="true" />


</selector>

然後在 按鈕的佈局檔案中 用 android:background="@drawable/test" 來引用

二、呼叫 setOnTouchListener方法
在佈局中定義一個按鈕 假設它的地址為 bt_0

.java檔案中新增 如下程式碼
引用的 color.bule color.white 為自己定義的顏色資源

bt_0 = (Button) findViewById(R.id.btn_0);
bt_0.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                switch (event.getAction()) {

                    case MotionEvent.ACTION_DOWN:
                        bt_clear.setBackgroundColor(getResources().getColor(R.color.blue));
                        break;

                    case MotionEvent.ACTION_UP:
                        bt_clear.setBackgroundColor(getResources().getColor(R.color.white));
                        break;
                }
                return true;
            }

        });