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;

    }

  }

}

猜你喜欢

转载自blog.csdn.net/tanghongchang123/article/details/78226299