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;

    }

  }

}

思路:給按鈕設置激活/未激活兩種不同顏色。當按鈕點擊一次、三次等奇數次時設置按鈕為未激活狀態(按下),當按鈕點擊偶數次是設置為激活狀態(未按下)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM