Android-StateListDrawable(状态选择器)

AndroidStudio安卓原生开发_UI高级_StateListDrawable状态选择器_按钮按下和抬起显示不同颜色---Android原生开发工作笔记124 然后我们再去看一下这个StateListDrawable,状态选择器,他可以让我们做的界面,更漂亮一些. 比如,按钮的按下和抬起显示不同的颜色.就是用这个StateListDrawable做的. 可以看到这个StateListDrawable,有很多的属性可以用,然后我们做个例子去看看 首先我们在drawable文件夹下去,创建一个资源文件xml 注意这里选择的时候,这个Root element 根节点要写上,selector 然后我们写上名字,bg_login 然后去写这个.. 阅读详情

StateListDrawable(状态选择器)

作用:StateListDrawable是在XML中定义的一个可绘制(drawable)的对象,它可以根据状态的不同为同一个图形更换不同的图片

用法:对应于XML文件中的selector

语法

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android=“http://schemas.android.com/apk/res/android”
android:constantSize=[“true” | “false”]
android:dither=[“true” | “false”]
android:variablePadding=[“true” | “false”] >

<item
    
    android:drawable="@[package:]drawable/drawable_resource"
    
    android:state_pressed=["true" | "false"]
            android:state_focused=["true" | "false"]
            android:state_hovered=["true" | "false"]
            android:state_selected=["true" | "false"]
              android:state_checkable=["true" | "false"]
            android:state_checked=["true" | "false"]
            android:state_enabled=["true" | "false"]
            android:state_activated=["true" | "false"]
            android:state_window_focused=["true" | "false"] />

item里面的Drawable的状态判定

android:state_pressed
按下的状态,(按下但是还没松开)

android:state_focused
当前View获取了焦点

android:state_selected
用户选择了当前View

android:state_checked
用户选中了View,一般用于CheckBox这种非黑即白的选项

android:state_enabled
当前View处于可用的状态

android:state_hovered
光标是否悬停,通常与focused state相同,它是4.0的新特性

android:state_checkable
组件是否能被check。如:RadioButton是可以被check的。

android:state_activated
是否被激活

android:state_window_focused
应用程序是否在前台,当有通知栏被拉下来或者一个对话框弹出的时候应用程序就不在前台了

特点
1、item可以用多个,item里面放的是Drawable
2、系统查找顺序是顺着item从上到下直到找到就停止往下寻找。

圆形的点击变换颜色

<?xml version="1.0" encoding="utf-8"?>

<selector

xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" >
    
    <shape android:shape="oval">
        
        <solid
            
            android:color="#ff0000" />
                    <stroke
            
            android:width="4dp"
                            android:color="#294736" />
            </shape>

 </item>

 <item >
    
    <shape android:shape="oval">
        
        <solid
            
            android:color="#848374" />
                    <stroke
            
            android:width="4dp"
                            android:color="#745863" />
            </shape>

 </item>

Edittext的背景框和焦点变化

<?xml version="1.0" encoding="utf-8"?>
<item android:state_window_focused="false">
           <shape android:shape="rectangle">
                   <solid
                           android:color="#FFFFFFFF"/>
                   <corners
            
           android:radius="3dp"/>
        
       <padding
            
           android:left="10dp"
                           android:right="10dp"/>
        
       <stroke
            
           android:width="1dp"
                           android:color="#BDC7D8"/>
    
     </shape>

  </item>



  <item android:state_focused="true" >
    
     <shape android:shape="rectangle" >
                     <solid
                             android:color="#FFFFFFFF"/>
                     <corners
                             android:radius="3dp"/>
                     <padding
            
             android:left="10dp"
                             android:right="10dp"/>
                     <stroke
            
             android:width="1dp"
                             android:color="#728ea3"/>
              </shape>

  </item>

Edittext输入框

<?xml version="1.0" encoding="utf-8"?>

<selector

xmlns:android=“http://schemas.android.com/apk/res/android”>

<item android:state_pressed="true" >
    
    <shape android:shape="rectangle">
                    <corners android:radius="10dp" />
                    <solid android:color="@color/deep_orange" />
        </shape>

</item>

<item >
    
    <shape android:shape="rectangle">
                    <corners android:radius="10dp" />
                    <solid android:color="@color/orange" />
            </shape>

</item>
State List Drawable状态列表绘制Android 摘要:Java源码,Android,状态列表  State List Drawable状态列表绘制Android源码下载,是一个挺小的Android编程小例子,希望大家喜欢哦。 立即下载

相关推荐

数据驱动AI落地:从业务价值到技术实践的全链路方法论

以数据驱动为核心,围绕 AI 落地全链路展开:先建全域数据体系(拉通内外部数据、治理数据质量),再将 AI 嵌入研发、制造、营销、服务等业务链路解决痛点,搭配混合算力架构保障技术落地,辅以 “小场景试错 - 复制” 战略、跨部门团队等方法论。结合美的集团数字化转型实践,最终实现 AI 对业务降本、增效、增收的价值,为企业 AI 转型提供可复用路径。

专注数据驱动领域原创分享。拆解从数据采集、建模分析到业务价值落地的全链路实践,聊决策逻辑、技术工具与场景案例。用通俗语言讲透数据如何赋能业务,与同路人共探数据价值。 1892

Android 中的 StateListDrawable

前言-关于StateListDrawable Android里面经常会在开发中在res/drawable目录下, 使用shape或者selector编写XML文件, 来定制一些View的背景, 而这些XML最终会转换为StateListDrawable *注: 并非所有的XML都是StateListDrawable* 对于StateListDrawable文档中如此描述: 允许您将多个图形图像分配给单个 Drawable,并通过字符串 ID 值替换可见项。它可以在带有 元素的 XML 文件中定义

ansondroider的博客 5214

MATLAB数据可视化:pcolor函数从入门到精通(附colormap调色秘籍)

本文深入解析MATLAB中pcolor函数的数据可视化应用,从核心机制、坐标网格指定到常见陷阱规避。重点揭秘colormap调色秘籍,涵盖内置色系选用原则、个性化定制方法及高级渲染技巧,助你创作出信息准确、视觉出色的专业图表,精通从数据到出版级图表的全流程。

kafka6courier的博客 247

深入解析Android的StateListDrawable

<p>在 Android 中我们经常使用 <strong>StateListDrawable</strong> ,来实现按钮、列表项等控件在不同状态下的外观,每种状态对应一个drawable资源。<

ws_lm的博客 1347

Ubuntu 18.04下Freesurfer 7.2.0安装全攻略:从下载到环境配置一步到位

本文详细介绍了在Ubuntu 18.04系统上安装Freesurfer 7.2.0的完整流程,包括系统准备、依赖安装、下载解压、环境配置、许可证获取及性能优化。Freesurfer作为神经影像分析的重要工具,支持皮层重建和体积分割等复杂任务,适用于阿尔茨海默症等神经系统疾病研究。指南还提供了常见问题解决方案和实际应用案例,帮助用户快速搭建高效的神经影像分析平台。

omega的博客 996

传输线的特征阻抗

信号源内阻与所接传输线的特性阻抗大小相等且相位相同,或传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,分别称为传输线的输入端或输出端处于阻抗匹配状态,简称为阻抗匹配。否则,便称为阻抗失配。有时也直接叫做匹配或失配。指一个电路输入端的等效阻抗。在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin就是U/I。可以把输入端想象成一个电阻的两端,这个电阻的阻值,就是输入阻抗。- 对于电压驱动的电路,输入阻抗越大,则对电压源的负载就越轻,因而就越容易驱动,也不会对信号源有影响;

学海无涯的专栏 4465

Android StateListDrawable设置状态,控件状态控制

Android StateListDrawable设置状态,控件状态控制

夨坕的博客 708

14自由度汽车动力学模型

多体系统分解簧上质量刚体:包含车身主体,具有6个自由度(x/y/z平移 + 俯仰/侧倾/横摆旋转)四个簧下质量刚体:每个车轮独立建模,含垂直跳动(z向)和旋转(绕z轴)自由度总自由度:6(车身) + 4×2(车轮) = 14自由度。

chao189844的博客 1198

Android StateListDrawable 和 ShapeDrawable 使用

Android StateListDrawable 和 ShapeDrawable 使用方法

u012514113的专栏 1644

使用 Python 构建 Reddit 热帖爬虫:抓取热门讨论帖和评论

在现代互联网中,Reddit 被誉为全球最大、最活跃的讨论平台之一,汇聚了各种主题的帖子、评论和社交互动。因此,抓取 Reddit 上的热门帖子和评论可以为我们提供一个丰富的文本数据源,可以用于情感分析、话题建模、趋势分析等应用。Reddit 提供了官方的 API,可以让开发者获取包括帖子、评论、用户信息等在内的各种数据。我们可以结合上述方法,抓取多个热门帖子,并将每个帖子的标题、作者、发布时间和评论内容保存到一个数据结构中。每个帖子的对象包含了丰富的信息,如标题、内容、发布时间、作者等。

2201_76125261的博客 382

经典的YOLOv3和YOLOV5算法详解及代码复现

yolov3和yolov5算法详解及代码复现

hasakie的博客 771

StateListDrawable状态选择器(安卓开发学习笔记——33)

2. 3.注意:所有的布局文件都是在res文件夹下的drawable文件夹下创建的布局文件。 (1)“StateListDrawable状态选择器”(代码示例) //主活动布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_heigh...

qq_47004770的博客 942

外向交货单批次赋值的标准姿势:用 BAPI_OUTB_DELIVERY_CHANGE 把 LIPS-CHARG 改得稳、改得干净

摘要: 外向交货单批次赋值涉及严格的业务约束,包括批次管理状态、单据状态、拆分规则等,直接更新表 LIPS 不可取。推荐使用 BAPI_OUTB_DELIVERY_CHANGE 接口,通过标准业务逻辑实现批次修改。关键点包括:区分单批次分配与批次拆分场景,正确设置 ITEM_CONTROL 控制结构,并确保单位/数量数据完整。附可直接执行的ABAP代码示例,实现安全可靠的批次更新流程。 (字数:149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 398

Android实现点击按钮时改变样式 (附带源码)

Android实现点击按钮时改变样式 (附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1450

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

(七)安卓开发中的状态列表图形(StateListDrawable)详解

状态列表图形是一个定义在 XML 文件中的资源,它包含一组Drawable对象,每个Drawable对应视图的一个或多个状态。当视图的状态发生变化时(例如用户按下按钮或选中列表项),系统会自动选择并应用与当前状态匹配的Drawable。这种方式无需手动编写状态切换逻辑,极大简化了开发。状态列表图形(StateListDrawable)是安卓开发中实现视图状态响应的强大工具。通过 XML 或代码定义,它可以轻松为按钮、列表项等控件添加丰富的视觉效果,提升用户体验。

cuijiying的博客 1081

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

StatelistDrawable 状态选择器失灵

今天在项目中遇到了一个问题—— StateListDrawable失灵了。 经过反复排查发现:在使用的状态选择器的布局中,如果子View已经设置了Background,那么该布局的状态选择器将无法生效。例子如下状态选择器 var_bg.xml 如下 : <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android

C安君的博客 1017

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

状态选择器 selector

State List selector

zhao2017的博客 346

Android中View绘制不同状态背景图片原理以及StateListDrawable使用详解

1、View的几种不同状态属性            2、如何根据不同状态去切换我们的背景图片。 开篇介绍:android背景选择器selector用法汇总         对Android开发有经验的同学,对 节点的使用一定很熟悉,该节点的作用就是定义一组状态资源图片,使其能够   在不同的状态下更换某个View的背景图片。例如,如下的hello_selection.xm

mrleeapple的专栏 962

控件Button

StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点,我们只需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景 1.drawable:引用的Drawable位图 2.state_focused:是否获得焦点 3.state_pressed:控件是否被按下 4.state_enabled:控件是否可用 5.state_selected:控件是否被选择,针对有滚轮的情况 6.state_

qq_44610809的博客 319

android 动态创建selector状态选择器 动态创建Drawable

Android 动态创建selector状态选择器

shenggaofei的博客 1297

Android API之Drawable资源

1、最常用的StateListDrawable  说StateListDrawable,很多Android猿可能感到不太熟悉,不过如果说selector选择器,肯定都会恍然大悟,不错,这两个东西就是同一个~~ 它的用途之广,每个app必用,下面就写一个demo,来简要说一下用法。 比如一个登陆界面,它的输入框在获取焦点时需要更改背景,登陆按钮在输入框中有内容时,则更改背景颜色,这时候用s

王梵 699

Android(安卓)开发-控件-Button

Button StateListDrawable StateListDrawqble是Drawqble资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点,我们只需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景 drawable:引用的Drawable位图 state_focused:是否获取焦点 state_pressed:控件是否被按下 state_enabled:控件是否可用 state_selected:控件是否被选择,针

qq_45984789的博客 327

Android shape select 标签通过代码进行创建

其实Android中shape标签就是用来画矩形、椭圆、圆等图形,但是这些都可以通过代码进行创建,对应的类是:GradientDrawable 具体的实现方式如下: //这步就相当于创建shape标签 GradientDrawable gradientDrawable = new GradientDrawable(); //指定shape标签的形状,下面指定的是矩形 gradient...

weixin_39413778的博客 218

android动态添加selector选择器代码

动态生成selector选择器 首先动态生成drawable GradientDrawable pressed=new GradientDrawable(); pressed.setColor(Color.parseColor("#ff0000")); GradientDrawable normal=new GradientDrawable(); normal.setColor(Color....

qq_39773343的博客 2868

Android 手机卫士--参照文档编写选择器

本文来实现《Android 手机卫士--导航界面1的布局编写》中的图片选择器部分的代码。 本文地址:http://www.cnblogs.com/wuyudong/p/5944356.html,转载请注明出处。 这个可以参考官网提供的API文档 图片选择器编写 在选中和未选中的过程中,切换展示图片 http://wear.techbrood.com/guide/practices/screen...

weixin_30237281的博客 107

android背景选择器selector用法汇总

一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 <?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 默认时的背景图片--&gt...

weixin_30849403的博客 87
上一篇: Android-shape
下一篇: Android-Notification(通知)
Android_xi
博客等级 码龄8年 4粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值