当前位置: 首页 > news >正文

Android开发中 Button 背景控制选择器

方式一:使用纯色背景(color

如果你只需要在不同状态下改变按钮的颜色,这是最简单的方法。

  1. res/color 目录下创建 XML 文件: 例如,创建一个名为 button_background_selector.xml 的文件。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:color="#FF5722" /><item android:state_enabled="false" android:color="#B0BEC5" /><item android:state_focused="true" android:color="#FF7043" /><item android:color="#2196F3" />
</selector>
  1. 在布局文件中使用: 直接将这个 XML 文件作为按钮的 backgroundTint 属性引用。
<Buttonandroid:id="@+id/my_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="点击我"android:textColor="@android:color/white"android:backgroundTint="@color/button_background_selector" />
方式二:使用带圆角的形状背景(shape

这种方式更为常用,因为它不仅能改变颜色,还能控制按钮的形状、圆角、边框等样式。

1 . res/drawable 目录下创建 XML 文件:

- 首先,为每种状态创建一个单独的 `shape` 文件。
  • 默认状态:button_default.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#2196F3" /><corners android:radius="8dp" /><padding android:left="16dp" android:top="8dp"android:right="16dp" android:bottom="8dp" />
</shape>
  • 按下状态:button_pressed.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#1976D2" /><corners android:radius="8dp" /><padding android:left="16dp" android:top="8dp"android:right="16dp" android:bottom="8dp" />
</shape>
  • 禁用状态:button_disabled.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#B0BEC5" /><corners android:radius="8dp" /><padding android:left="16dp" android:top="8dp"android:right="16dp" android:bottom="8dp" />
</shape>
  • 焦点状态
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#1E88E5" /><corners android:radius="8dp" /><stroke android:width="2dp" android:color="#FF5722" /><padding android:left="16dp" android:top="8dp"android:right="16dp" android:bottom="8dp" />
</shape>
  1. 创建 selector 文件来引用这些 shape 文件: 创建一个名为 button_background_selector.xml 的文件,放在 res/drawable 目录下。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:drawable="@drawable/button_pressed" /><item android:state_enabled="false" android:drawable="@drawable/button_disabled" /><item android:state_focused="true" android:drawable="@drawable/button_focused" /><item android:drawable="@drawable/button_default" />
</selector>
  1. 在布局文件中使用: 直接将这个 selector 文件作为按钮的 background 属性引用。
<Buttonandroid:id="@+id/my_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="点击我"android:textColor="@android:color/white"android:background="@drawable/button_background_selector" />
http://www.sczhlp.com/news/87275/

相关文章:

  • redis非阻塞锁
  • vx小程序怎么开发seo排名系统
  • 如何添加网站后台利用网站做淘宝客
  • 西安网站制作流程如何给网站添加关键词
  • 莱芜人才网莱芜招聘seo在线教程
  • wordpress制作电商网站成都手机网站建设报价表
  • 邯郸教育网站建设天津建设工程信息网欧美小镇农贸市场
  • 现代网站建设跨境电商自己做网站引流
  • MyEMS:技术架构深度剖析与用户实践支持体系
  • ECT-OS-JiuHuaShan 的本质是超验数学结构,史上首个实现完全移植保真性的认知框架
  • Appium元素等待
  • DropWizard-REST-Web-服务指南-全-
  • Spring Boot如何启动嵌入式Tomcat?
  • 做外链音乐网站天津百度seo
  • 三合一网站开发如何用爬虫做网站监控
  • 贵阳市小程序网站开发公司适合在家做的网站工作
  • 400靓号手机网站建设哪个网站做正品女装
  • 我的世界皮肤网站做自己在线制作logo免费圆形
  • 网站开发合同注意事项重庆网站公司
  • 专业做网站app的公司有哪些舆情网站
  • 83、SpringMVC全局异常处理和数据校验
  • 做电影网站资源哪里来的天翼云服务器
  • 游戏运营备案官方网站专业网站制作的地方
  • 学做美食的视频网站qq上网站做我女朋友
  • 好看的旅游网站模版做网站需要绑定电脑ip吗
  • 网站怎样做 文件签收做市场的逛的网站
  • nginx反向代理
  • 微算法科技(NASDAQ: MLGO)基于阿基米德优化算法(AOA)的区块链存储优化方案
  • mysql常用命令
  • WebApi通用获取全量参数,不使用实体