1、首先創建一個按鈕 <Button android:id="@+id/click" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="點擊變色" android:backgro ...
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;
}
}
}
思路:給按鈕設置激活/未激活兩種不同顏色。當按鈕點擊一次、三次等奇數次時設置按鈕為未激活狀態(按下),當按鈕點擊偶數次是設置為激活狀態(未按下)。