Android自定义实现开关按钮代码

作者:奋斗者—cyf 时间:2022-04-07 21:35:48 

我们在应用中经常看到一些选择开关状态的配置文件,做项目的时候用的是android的Switch控件,但是感觉好丑的样子子

个人认为还是自定义的比较好,先上个效果图:

Android自定义实现开关按钮代码

实现过程:

1.准备开关不同状态的两张图片放入drawable中。

2.xml文件中添加代码:


<ToggleButton
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:button="@drawable/btn_backgrounds"
android:checked="false"
android:textOff=""
android:textOn="" />
android:button="@drawable/btn_backgrounds"是自己定义的android selector文件:
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/toggle_btn_on" />
<item android:drawable="@drawable/toggle_btn_off" />

3,之后在java文件中声明ToggleButton控件并且实例化,添加点击事件:


/**
* 自己出创建的内部类,监听按钮点击事件
*
* @author cyf
*
*/
class MyOnCheckedChangeListener implements OnCheckedChangeListener {
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
if (arg1) {
// 开
} else {
// 关
}
}
}

4.添加监听:


switch1.setOnCheckedChangeListener((OnCheckedChangeListener) new MyOnCheckedChangeListener());
标签:android,自定义,开关,按钮
0
投稿

猜你喜欢

  • Jsoup获取全国地区数据属性值(省市县镇村)

    2023-12-08 01:27:25
  • 解决idea每次新建项目都需要重新指定maven目录

    2022-12-25 17:39:52
  • 如何利用反射构建元数据查看器

    2021-05-27 00:11:05
  • Spring JPA 错题集解决案例

    2022-03-26 22:44:03
  • spring MVC中接口参数解析的过程详解

    2023-11-28 09:17:50
  • 使用@RequestParam设置默认可以传空值

    2023-07-01 08:34:57
  • C#基于Socket实现多人聊天功能

    2021-12-06 12:00:47
  • SpringBoot框架集成ElasticSearch实现过程示例详解

    2023-02-02 08:44:05
  • Android实现多点触控功能

    2021-10-18 08:39:33
  • c#取得控制台应用程序根目录

    2023-06-16 14:25:44
  • C#图书管理系统 附源码下载

    2023-10-19 18:30:13
  • 在Flutter中制作翻转卡片动画的完整实例代码

    2023-06-23 23:31:21
  • Winform利用分页控件实现导出PDF文档功能

    2023-08-11 10:15:04
  • android开发之Json文件的读写的示例代码

    2021-12-02 11:55:18
  • Seata AT模式TM处理流程图文示例详解

    2022-05-03 02:28:39
  • Android 自定义对话框 showSetPwdDialog

    2022-04-25 22:55:00
  • 以武侠形式理解Java LinkedList源码

    2021-12-27 20:34:23
  • C#字符串和Acsii码相互转换

    2022-09-24 00:12:07
  • Android定时器实现的几种方式整理及removeCallbacks失效问题解决

    2022-10-04 13:21:50
  • C语言函数超详细讲解上篇

    2022-05-23 06:29:31
  • asp之家 软件编程 m.aspxhome.com