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

Posted 孙秋翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

    }

  }

}

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

 

以上是关于Android实现按钮点击效果(第一次点击变色,第二次恢复)的主要内容,如果未能解决你的问题,请参考以下文章

点击按钮变色,松开按钮恢复原来的颜色

利用this属性实现点击按钮变色.选中效果

Android自定义控件3:带边框点击背景变色的textview,原型是支付宝手机充值中话费充值按钮

(Android学习)点击按钮Button,更换背景颜色

android点击按钮切换Layout?

vue实现点击变色再次点击变回来