Android实现按钮点击效果(第一次点击变色,第二次恢复)

来源:互联网 发布:手机编程 输入法 编辑:程序博客网 时间:2024/05/16 01:26

1、首先创建一个按钮

<Buttonandroid: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;    }  }}


思路:给按钮设置激活/未激活两种不同颜色。当按钮点击一次、三次等奇数次时设置按钮为未激活状态(按下),当按钮点击偶数次是设置为激活状态(未按下)。

1 0