即一个 Android Button 在正常显示时,跟按下时,显示不同的背景图片。
通常按下时显示的是另一张高亮的图片。
之前是通过点击事件实现的,无意发现 drawable selector 可以方便的配置实现,这样代码也清晰了很多。
drawable selector
右键点击 res/drawable 目录,选择新建一个 Drawable Resource File,Root Element 是 selector。
命名为 button_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_active" android:state_pressed="true"/>
<item android:drawable="@drawable/button"/>
</selector>
- state_pressed 为 true 配置的是按下按钮时的背景图片
- 最后一个是正常状态下的背景图片
layout 中设置 background
将对应的 AppCompatButton 的 background 设置为上面新建的 selector 名。
<androidx.appcompat.widget.AppCompatButton
android:background="@drawable/button_bg"
android:text="摧毁">
</androidx.appcompat.widget.AppCompatButton>
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式