Android drawable selector

Android drawable selector

描述

Android 可绘制选择器(drawable selector)是一种可根据不同状态显示不同可绘制对象的 XML 资源。它通常用于实现按钮、列表项等控件的状态变化效果。

可绘制选择器的基本结构

一个可绘制选择器由多个 <item> 元素组成,每个 <item> 元素代表一种状态。<item> 元素的属性包括:

  • android:drawable:要显示的可绘制对象
  • android:state_focused:是否聚焦
  • android:state_pressed:是否按下
  • android:state_checked:是否选中
  • android:state_enabled:是否可用

可绘制选择器的示例

以下是一个简单的可绘制选择器示例:

xml 复制代码
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/button_normal" android:state_pressed="false" />
  <item android:drawable="@drawable/button_pressed" android:state_pressed="true" />
</selector>

在这个示例中,当按钮按下时,可绘制选择器将显示 button_pressed.png 图片,否则将显示 button_normal.png 图片。

使用备份

背景

javascript 复制代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/shape_square" android:state_enabled="false"/>
    <item android:drawable="@mipmap/pic_01" android:state_pressed="true"></item>
    <item android:drawable="@mipmap/pic_02" android:state_pressed="false"></item>
</selector>

颜色

javascript 复制代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/shape_square" android:state_enabled="false"/>
    <item android:color="@color/pic_01" android:state_pressed="true"></item>
    <item android:color="@color/pic_02" android:state_pressed="false"></item>
</selector>
相关推荐
玩机达人881 天前
三星S25Ultra/S24安卓16系统Oneui8成功获取完美root权限+LSP框架
android·linux·里氏替换原则
居安思危_Ho1 天前
RK平台Uniapp自启动缓存问题解决
android·缓存·uni-app·rk平台·uniapp资源文件
molong9311 天前
Activity/Service/Broadcast/ContentProvider 生命周期交互
android·学习·交互
molong9311 天前
Android 权限模型(前台、后台、特殊权限)
android
怪兽20141 天前
Looper、MessageQueue、Message及Handler的关系是什么?如何保证MessageQueue的并发访问安全?
android·面试
奥尔特星云大使1 天前
mysql高可用架构之MHA部署(二)VIP漂移(保姆级)
android·mysql·架构·mha·ip漂移
深海呐1 天前
Android 编译速度优化:JVM堆内存扩充
android·jvm·jvm内存扩充·android 加快编译速度
心随雨下1 天前
Flutter中新手需要掌握的几种Widget
android·flutter·ios
叶辞树1 天前
查看安卓设备的音视频解码器信息
android