浅谈android的selector,背景选择器

Android的选择器背景选择器编程 现在,当用户与按钮交互时,选择器背景选择器将根据不同的状态自动选择相应的背景资源。选择器背景选择器是Android中一种非常有用的机制,它允许您根据不同的状态选择不同的背景资源。在上面的示例中,我们使用"android:background"属性将选择器背景选择器应用到按钮上。这里的"@drawable/selector_bg"引用了我们之前创建的"selector_bg.xml"文件。通过使用选择器背景选择器,我们可以轻松地实现不同状态下的背景切换效果,而无需编写额外的代码。 阅读详情
关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。
首先android的selector是在drawable/xxx.xml中配置的。
先看一下listview中的状态:
把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的背景图片。
drawable/list_item_bg.xml
<?xml version="1.0" encoding="utf-8" ?>   
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- 默认时的背景图片 -->  
  <item android:drawable="@drawable/pic1" />    
<!-- 没有焦点时的背景图片 -->  
  <item android:state_window_focused="false"   
        android:drawable="@drawable/pic1" />   
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->  
  <item android:state_focused="true" android:state_pressed="true"   
        android:drawable= "@drawable/pic2" />  
<!-- 触摸模式下单击时的背景图片 -->  
  <item android:state_focused="false" android:state_pressed="true"   
        android:drawable="@drawable/pic3" />   
<!--选中时的图片背景  -->  
  <item android:state_selected="true"   
        android:drawable="@drawable/pic4" />   
<!--获得焦点时的图片背景  -->  
  <item android:state_focused="true"   
        android:drawable="@drawable/pic5" />   
</selector>
使用些xml文件:第一种是在listview中配置android:listSelector="@drawable/list_item_bg
或者在listview的item中添加属性android:background=“@drawable/list_item_bg"即可实现,或者在java代码中使用:Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);  
       ListView.setSelector(drawable);同样的效果。
但是这样会出现列表有时候为黑的情况,需要加上:
android:cacheColorHint="@android:color/transparent"
使其透明。
其次再来看看Button的一些背景效果:
android:state_selected是选中
android:state_focused是获得焦点
android:state_pressed是点击
android:state_enabled是设置是否响应事件,指所有事件
根据这些状态同样可以设置button的selector效果。也可以设置selector改变button中的文字状态。
以下就是配置button中的文字效果:
drawable/button_font.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="#FFF" />
    <item android:state_focused="true" android:color="#FFF" />
    <item android:state_pressed="true" android:color="#FFF" />
    <item android:color="#000" />
</selector>
Button还可以实现更复杂的效果,例如渐变啊等等。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">         / 
        <item android:state_pressed="true">//定义当button 处于pressed 状态时的形态。 
              <shape> 
                     <gradient  android:startColor="#8600ff" /> 
                      <stroke   android:width="2dp" android:color="#000000" /> 
                       <corners android:radius="5dp" />  
                       <padding android:left="10dp" android:top="10dp" 
                                android:bottom="10dp" android:right="10dp"/>  
                 </shape> 
        </item> 
        <item android:state_focused="true">//定义当button获得 focus时的形态 
                 <shape> 
                       <gradient android:startColor="#eac100"/> 
                        <stroke android:width="2dp" android:color="#333333"  color="#ffffff"/> 
                         <corners android:radius="8dp" />   
                         <padding android:left="10dp" android:top="10dp" 
                                  android:bottom="10dp" android:right="10dp"/>                   
                </shape> 
            </item>
</selector> 
     最后,需要在包含 button的xml文件里添加两项。假如是 main.xml 文件,
我们需要在<Button />里加两项。 
     android:focusable="true" 
     android:backgroud="@drawable/button_color"
这样当你使用Button的时候就可以甩掉系统自带的那黄颜色的背景了,实现个性化的背景,配合应用的整体布局非常之有用啊。
Abaqus滞回问题求解—浆锚连接装配式剪力墙滞回模拟 当下土木工程研究生,多数都在从事装配式混凝土构件安全或装配式混凝土构件连接节点力学性能的研究。研究这类问题,几乎脱离不开对有限元软件的使用,Abaqus求解能力非常强大,但模型处理能力相对较弱。装配式混凝土结构的有限元计算与传统现浇结构相比,其节点处理起来相对复杂,计算结果往往需要凸显出连接节点力学特性,所以对建模精程度的要求较高。所以向大家介绍一款工具—HyperMesh软件(一下简称Hm),它是专业的有限元前处理工具,用于处理装配式混凝土构件或连接节点有限元模型比较合适。这篇文章主要介绍如何利用Hm处理 阅读详情

相关推荐

从零开始:用7353张VOC/YOLO格式混凝土缺陷数据集训练你的第一个检测模型

本文详细介绍了如何使用7353张VOC/YOLO格式的混凝土缺陷数据集训练首个目标检测模型。从环境配置、数据解析到YOLOv5模型训练与优化,提供了完整的实战指南,特别针对数据不平衡问题给出了解决方案,助力开发者快速掌握混凝土缺陷识别技术。

weixin_42651281的博客 256

Android各控件实现背景选中效果总结

前言selector实现背景选中替换效果,很容易的一个东西,但每次用到都很容易把各控件的使用方法记混,索性写一篇总结方便下次查找。本篇总结的控件包括CheckBox、ImageButton、RadioButton、Button、ImageView。推荐使用CheckBox

LIUW的博客 2931

微信小程序一键登录和临时code用JWT进行微信用户授权

2、跨域进行调用接口时候,唯一标识UnionID和会话密钥 session_key如果还是用的我自己的,会出现无法调用微信服务器接口,就需要将唯一标识和会话密钥换成前端的,才可以,我自己认为这样很不合理,暂时还没有找到原因。2、能够获取到openId,但是也只能获取到openid,无法获取用户的相关信息,经过查阅官网发现,现在微信那边已经将用户信息加密,需要调用提供的接口进行解密然后获取用户数据,问题原因已经找到解决方法,还未即使更改。1、我这是一台电脑实现的前端调用后端接口,不用考虑跨域的问题。

qq_67653492的博客 5713

Android原生实现控件选择背景变色方案(API28及以上)

Android控件点击/选择后控件背景变色的实现方式有很多种,例如使用selector的xml文件实现。这里介绍一下另一种Android原生的点击/选择实现方案(API28及以上),也就是ColorStateListDrawable。 ColorStateListDrawable是一个可根据不同状态显示不同颜色的Drawable。 实现效果,选择前/选择后: 这里我们利用继承LinearLayoutCompat的方式来实现: 属性 创建自定义属性: <attr name="carbon_

jxq1994的博客 808

【高级-RAG-优化方法】

本文介绍了两种优化RAG(检索增强生成)系统的高级方法。第一部分介绍KnowFlow项目,它采用父子分块技术,将文档分为父分块(800-1500字符)和子分块(200-400字符),通过精确匹配子分块再返回父分块内容来保证搜索精确性和上下文完整性。第二部分探讨Milvus的多种增强技术,包括查询增强(如假设问题生成、回溯提示)、索引增强(自动合并块、分层索引)、检索器增强(句子窗口检索、元数据过滤)、生成器增强(提示压缩、块排序)以及管道增强(自我反省、代理查询路由)。这些方法共同提升了RAG系统的检索效率

weixin_48585108的博客 960

手教你如何使用Simulink和相关工具箱模拟和实现无人机的多机接力信号中继的建模

扩大通信范围:单架无人机的通信能力有限,通过多机接力的方式可以显著扩展通信覆盖范围。提高可靠性:当某架无人机出现故障或电量不足时,其他无人机可以接管其任务,确保通信不中断。适应复杂环境:在山区、森林等复杂地形中,多机接力可以绕过障碍物,建立稳定的通信链路。使用Communications Toolbox中的模块来模拟无线通信链路。例如,可以使用模块模拟噪声信道,或者使用模块计算信号衰减。matlab深色版本。

MHD0815的博客 767

是时候下载Android-9-0系统源码了

接下来创建bin,并加入到PATH中。mkdir/bin:$PATH安装curl库:下载repo并设置权限:最后安装python,repo初始化时会用到:重启虚拟机后,开始下载源码。

2401_84538884的博客 1143

OmniQuant:全方位校准实现大语言模型高效量化与移动端部署

模型量化是一种通过降低模型权重和激活值的数值精度来压缩模型大小、减少内存占用和计算开销的核心技术。其原理在于将高精度浮点数映射到低精度整数表示,从而在保持模型性能的同时,显著提升存储和计算效率。这项技术的价值在于,它使得大规模语言模型能够在消费级硬件和资源受限的移动设备上运行,极大地拓宽了AI应用场景。OmniQuant作为一项前沿的量化技术,通过引入可学习权重裁剪和可学习等价变换机制,实现了对权重分布不均匀和激活值异常值问题的协同优化,从而在极低的比特数下仍能保持优异的模型性能。本文深入探讨了OmniQu

weixin_30719711的博客 484

Android中的Selector

selector的用法 android中selector主要用于在不同的状态下设置不同的背景或者不同的颜色。 selector分为两种类型,colorselector和drawableselector。colorselector用来在不同的状态下设置不同的颜色,而drawableselector用于在不同的状态下设置不同的背景。 selector文件中item的常见的状态主要有以下几种 状态 意义 android:state_selected 被选择时的状态 android:state_

wsb_2526的博客 7505

《Python星球日记》 第43天:机器学习概述与Scikit-learn入门

《Python星球日记》 第43天:机器学习概述与Scikit-learn入门

Code_流苏:在代码中寻诗意,在实践中觅真知 933

Open3D (C++)球旋转算法(BPA)三维建模

球旋转算法用于点云三维建模的C++代码实现。

点云侠的博客 1771

浅谈android的selector背景选择器

关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。 首先android的selector是在drawable/xxx.xml中配置的。 先看一下listview中的状态: 把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据List

sdhgood的专栏 673

华为MetaERP国资委语境下的 DRP(全域数字化资源管理平台/Digitalized Resource-management Platform)与传统 ERP(以 SAP、Oracle 为代表)的

【摘要】国资委推动的DRP(全域数字化资源管理平台)正在重构央国企数智化转型路径,其本质是通过"ERP管交易+DRP管管控"的双层架构实现升维替代。与传统ERP相比,DRP具有三大突破:采用国产分布式数据库实现全级次穿透监管、构建数据中台打破信息孤岛、以实时分析替代事后报表。当前政策明确2026-2030年分阶段建设目标,这将重塑产业格局——倒逼传统ERP厂商转型,为云原生/AI/信创企业创造新机遇。需注意DRP并非简单替代ERP,而是通过治理模式变革实现"交易系统做薄、管控中

金牌架构师 286

浅谈Android的selector背景选择器

关于Listview和Button都要改变Android原来控件的背景,现在谈一下Android的selector的用法。 首先Android的selector是在drawable/xxx.xml中配置的。 先看一下listview中的状态: 把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的...

ThomasKwan的博客 447

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[转]浅谈android的selector背景选择器

关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。 首先android的selector是在drawable/xxx.xml中配置的。 先看一下listview中的状态: 把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根...

aoepin6162的博客 159

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: android 新浪微博客户端的表情功能的实现
下一篇: android之Notification通知
Jymot
博客等级 码龄14年 6粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值