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>
相关推荐
超梦dasgg17 小时前
APP 壳、加固、脱壳 完整通俗讲解(安卓为主,兼顾 iOS)
android·ios
猪脚饭还是好吃的17 小时前
【分享】C4droid 安卓C++编译器 手机编程超便捷
android·c++·智能手机
AI浩17 小时前
【数据处理】基于 SAM3 的 LabelMe 标注统一校正方法
android·开发语言·kotlin
恋猫de小郭17 小时前
真正的跨平台 AI 自动化框架,甚至还支持鸿蒙
android·前端·flutter
私人珍藏库17 小时前
【Android】 VidFetch一键下载各大平台视-内置播放器
android·app·工具·软件·多功能
2501_9327502617 小时前
Android Activity 生命周期解析
android
猪脚饭还是好吃的18 小时前
【分享】VideoGuru视频编辑 裁剪拼接,合并调速 解锁会员
android
三少爷的鞋18 小时前
避免 Flow + combine 的首值陷阱:用 StateFlow 保证 UI 始终有状态
android
YIN_尹18 小时前
【Linux系统编程】基础IO第一讲——系统文件IO
android·java·linux·c++
艾iYYY1 天前
string 类的模拟实现
android·服务器·c语言·c++·算法