Android實現按鈕點擊效果(第一次點擊變色,第二次恢復)

1、首先創建一個按鈕

<Button

android:id="@+id/click"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="點擊變色"

android:background="@drawable/btn_st"

android:gravity="center"/>

2、1中創建的按鈕的background用到了btn_st,在drawable下創建btn_st

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_activated="true" android:drawable="@drawable/color1"></item> <!-- 未點擊時的顏色 -->

<item android:state_activated="false" android:drawable="@drawable/color2"></item> <!-- 點擊後的顏色 -->

</selector>

3、在2中用到的color1和color2,在values的strings中添加

<drawable name="color1">#339966</drawable>

<drawable name="color2">#fff</drawable>

4、java代碼

(1)首先獲取button 

  Button clickbtn =  (Button) findViewById(R.id.click);

(2)設置一個標記flag

  int flag = 0;

(3)給按鈕添加監聽事件

  clickbtn.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

switch(flag){

  case 0:

    mBtn[i].setActivated(false);

    flag = 1;

    break;

  case 1:

    mBtn[i].setActivated(true);

    flag = 0;

    break;

    }

  }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章