ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # 1. 前言 在开发中,我们常使用xml方式定义selector,并指定手指按下和释放所对应的shape.xml文件,在这个文件中,常用来做背景或者圆角等。这里再次回顾一下。 # 2. 回顾 注意:shape 标签所对应的 Java 类是 GradientDrawable,而不是 ShapeDrawable 。但,神奇的是, ShapeDrawable 与 GradientDrawable 的用法基本一样。但是在使用的时候,强转类型不要弄混淆。 # 3. 使用 ## 3.1 给按钮添加圆角 btn_bg_round.xml: ~~~ <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:drawable="@drawable/btn_normal"/> <item android:state_pressed="true" android:drawable="@drawable/btn_pressed" /> </selector> ~~~ btn_normal.xml: ~~~ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="20dp"/> <solid android:color="#DB5860"/> </shape> ~~~ btn_pressed.xml: ~~~ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="20dp"/> <solid android:color="#F50512"/> </shape> ~~~ 然后使用: ~~~ <Button android:layout_centerInParent="true" android:background="@drawable/btn_bg_round" android:layout_width="300dp" android:layout_height="50dp"> </Button> ~~~ 效果: ![](https://img.kancloud.cn/80/90/809002c6a0320a803732263159efe47f_340x81.png)