在Android studio中設定按鈕點選變色效果的方法
阿新 • • 發佈:2019-01-28
一、在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; } });