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实现按钮点击效果(第一次点击变色,第二次恢复)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇基于datax的数据同步平台ZYNQ:使用SDK打包BOOT.BIN、烧录BOOT.BIN到QSPI-FLASH下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue按键修饰符@keyup.enter.native

Vue 允许为 v-on 在监听键盘事件时添加按键修饰符: <!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` --> <input v-on:keyup.enter="submit"> 应用场景: 1、当我们在登录页面中,输完密码后,点击enter键就可以发起登录请求 <!-- 登录表单区...

winform子窗口调用父窗口的控件及方法-一般调用

首先新建一个窗体应用程序,在项目属性中点击右键->添加->添加新项,选择Windows窗体->添加。  在Form1和Form2窗口中各添加一个按钮,并双击添加事件处理函数:     父窗口Form1的按钮处理函数,打开子窗口Form2,另外定义一个显示消息框的方法供子窗口调用(定义为public才能被调用): 注意:弹出窗体2的代...

javascript中的后退和刷新

<input type=button value=刷新 onclick="window.location.reload()"><input type=button value=前进 onclick="window.history.go(1)"><input type=button value=后退 onclick="window...

Repeater控件中点击按钮后获取某一行的数据!

其实和GridView差不多的,如果模板中是有按钮之类的可以设置CommandName值的,可直接在ItemCommand事件中获取CommandName或者CommandArgument, 如果是模板中有文本框之类的,把文件框的AutoPostBack属性设置为True,然后在TextChanged事件中编写如下代码: C#代码 TextBoxt=(...

PyQt5-按钮关闭窗体-4

import sys from PyQt5.QtWidgets import QApplication, QWidget,QToolTip,QPushButton from PyQt5.QtGui import QIcon,QFont from PyQt5.QtCore import QCoreApplication #demo_4:通过一个按钮关闭窗体...

如何避免用户多次点击造成的多次请求

我们在访问有的网站,输入表单完成以后,单击提交按钮进行提交以后,提交按钮就会变为灰色,用户不能再单击第二次,直到重新加载页面或者跳转。这样,可以一定程度上防止用户重复提交导致应用程序上逻辑错误。 还有很多其他的方式进行防止重复点击提交,如 1、定义标志位: 点击触发请求后,标志位为false量;请求(或者包括请求后具体的业务流程处理)后,标志位为true...