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>
相关推荐
louisgeek11 小时前
Android Studio 和 Git
android
solo_9916 小时前
Android Event 日志完全指南
android
孙晓鹏life16 小时前
MySQL-Seconds_behind_master的精度误差
android·mysql·adb
雨白16 小时前
C 语言文件操作核心
android
鱼儿也有烦恼18 小时前
01.搭建Android Studio开发环境
android·android studio
m0_7381207219 小时前
PHP代码审计基础——面向对象(四)
android·开发语言·网络·安全·github·php
Coffeeee20 小时前
搞Android的怎么可能搞不懂Context Engineering?
android·人工智能·ai编程
Carson带你学Android20 小时前
Gemini Nano 开发实战:让你的App轻松拥有端侧 AI 功能
android·ai编程
TDengine (老段)1 天前
TDengine SMA 索引 — 块级/文件级统计索引
android·大数据·服务器·数据库·人工智能·时序数据库·tdengine
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端: AnimatedScale 与 AnimatedContainer 联合实战
android·javascript·flutter·华为·harmonyos