Android实现按钮点击效果

作者:孙秋翔_quinns 时间:2021-06-10 10:05:54 

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

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

来源:http://www.cnblogs.com/quinnsun/p/android_stu_btn_s1.html

标签:android,按钮,点击
0
投稿

猜你喜欢

  • Android动态布局小结

    2021-10-17 12:04:39
  • SpringBoot+SpringCloud用户信息微服务传递实现解析

    2022-12-08 13:51:42
  • Android基于讯飞语音SDK实现语音识别

    2023-09-26 23:39:05
  • 详解Java如何创建Annotation

    2023-05-05 22:40:41
  • c#继承与多态使用示例

    2021-11-24 16:48:33
  • C# SynchronizationContext以及Send和Post使用解读

    2023-10-16 04:27:28
  • android使用PullToRefresh框架实现ListView下拉刷新上拉加载更多

    2023-05-23 05:29:16
  • java 数据结构基本算法希尔排序

    2021-09-14 02:09:50
  • C#获取远程XML文档的方法

    2023-06-26 17:41:16
  • Knife4j 3.0.3 整合SpringBoot 2.6.4的详细过程

    2023-11-25 03:54:34
  • Java的优先队列PriorityQueue原理及实例分析

    2023-03-14 08:11:00
  • Java如何使用Query动态拼接SQL详解

    2022-12-31 09:40:14
  • Java实现Redis的集合(set)命令操作

    2022-05-08 11:07:03
  • Java简单计时的实现案例(可以用来限时循环)

    2023-02-01 21:39:19
  • java中重载,继承,重写和多态的区别

    2022-05-06 06:40:16
  • Android系统自带分享图片功能

    2022-08-03 09:14:07
  • SpringCloud Gateway HttpWebHandlerAdapter链路调用请求流程介绍

    2023-04-29 00:12:18
  • C#分布式事务的超时处理实例分析

    2022-06-16 03:11:28
  • MyBatis找不到mapper文件的实现

    2023-12-15 09:22:11
  • 解析C#拼接Json串的几种方法

    2021-12-28 20:22:48
  • asp之家 软件编程 m.aspxhome.com