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

文章目录

    即一个 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式