android AppCompatButton 设置按下时显示的背景图片

更新日期: 2023-11-09 阅读次数: 639 字数: 189 分类: Android

即一个 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 聊聊, 查看更多联系方式