`
不夜的星辰
  • 浏览: 88550 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

selector选择器

阅读更多

一.创建xml文件,位置:drawable/xxx.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文件:

1.方法一:listview中配置android:listSelector="@drawable/xxx
或者在listviewitem中添加属性android
background="@drawable/xxx"

2.方法二:Drawable drawable = getResources().getDrawable(R.drawable.xxx);  
       ListView.setSelector(drawable);
但是这样会出现列表有时候为黑的情况,需要加上:android:cacheColorHint="@android:color/transparent"
使其透明。

相关属性:

android:state_selected是选中
android:state_focused
是获得焦点
android:state_pressed
是点击
android:state_enabled
是设置是否响应事件,指所有事件

根据这些状态同样可以设置buttonselector效果。也可以设置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
还可以实现更复杂的效果,例如渐变
drawable/button_color.xml
<?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> 
最后,需要在包含 buttonxml文件里添加两项。例如main.xml 文件,需要在<Button />里加两项android
focusable="true" android:background="@drawable/button_color"
 
本文摘自:http://blog.sina.com.cn/s/blog_4b93170a0100qhwa.html
分享到:
评论

相关推荐

    ListView Button ImageView 里应用selector选择器切换图片并保持住

    这就是`selector`选择器的作用,它可以帮助我们在不同状态下切换图片,并保持住相应的状态。现在,我们将详细探讨如何在ListView、Button和ImageView中应用selector来实现这一功能。 首先,让我们了解什么是`...

    Java NIO Selector选择器简介.pdf

    ### Java NIO Selector选择器详解 #### 一、Selector概览及作用 **Selector** 是 Java NIO (New I/O) 框架中的一个重要组成部分,主要用于检测一个或多个 **NIO Channel** 的状态,包括但不限于可读、可写、可连接...

    浅谈android的selector背景选择器

    ### 浅谈Android的Selector背景选择器 #### 一、引言 在Android开发中,为了提高用户体验,经常需要对控件的外观进行定制化处理,特别是在不同的交互状态下展示不同的视觉效果。`Selector`作为Android中一个非常...

    Android 仿京东商城底部布局的选择效果(Selector 选择器的实现)

    Android 仿京东商城底部布局的选择效果(Selector 选择器的实现) Android 仿京东商城底部布局的选择效果是指在 Android 应用程序中实现京东商城底部布局的选择效果,主要是通过 Selector 选择器来实现的。Selector ...

    SelectorGadget CSS选择器

    SelectorGadget是一款强大的浏览器插件,专为网页开发者和设计师设计,主要功能是自动化生成CSS选择器。在网页开发过程中,我们经常需要精确地定位HTML元素以便进行样式修改或JavaScript操作,而SelectorGadget则能...

    CSSSelector生成器

    CSSSelector生成器是一款帮助开发者快速、准确创建CSS选择器的工具,尤其对那些不熟悉高级选择器或需要优化选择器效率的开发者而言,它具有很大的价值。 **JavaScript开发与CSS相关** JavaScript,一种广泛使用的...

    android selector注入器

    在Android开发中,选择器(Selector)是一种非常重要的机制,用于定义View在不同状态下的显示样式,如按下、聚焦、默认等。`android selector注入器` 提供了一种高效且便捷的方式来管理这些状态选择器,使得开发者...

    Mulit-Image-Selector MultiImageSelector eclipse版 仿微信图片选择器

    ** Mulit-Image-Selector:一个仿微信的Android图片选择器 ** 在移动应用开发中,特别是在社交应用中,用户经常需要选择一张或多张图片进行上传或分享。`Mulit-Image-Selector`是一个专为Android平台设计的开源类库...

    Class(类类型),Selector(选择器SEL),函数指针(IMP)

    在Objective-C中,Class、Selector(选择器SEL)和函数指针(IMP)是三个非常重要的概念,它们构成了Objective-C动态特性的基础。下面将详细解释这三个概念以及它们之间的关系。 1. Class(类类型): 在Objective...

    Selector

    标题中的"Selector"一词在IT领域通常指的是选择器,它是编程语言或样式表中用于选取元素的关键概念。在Web开发中,特别是CSS(层叠样式表)中,选择器用于定位HTML或XML文档中的特定元素,以便应用样式。同时,选择...

    java基于NIO选择器Selector的多人聊天室

    Java NIO(非阻塞I/O)是一种在Java中处理I/O操作的高效方式,它引入了选择器(Selector)的概念,使得一个单独的线程可以监控多个输入输出通道(Channels),大大提高了并发处理能力。在这个"java基于NIO选择器...

    Android-Ultra-Photo-Selector多图片选择器的使用.zip

    之后,开发者可以在代码中调用提供的API,设置选择器的参数,如最大选择数量、图片质量等,并启动选择器。选择完成后,框架会回调结果,开发者可以获取到用户选择的图片路径,进一步处理和展示这些图片。 值得注意...

    Android selector背景选择器的使用详解

    本篇文章将深入探讨Android中的Selector背景选择器的使用方法。 首先,让我们了解Selector的基本结构。Selector是XML文件,通常存储在项目的res/drawable目录下。以下是一个简单的Selector示例: ```xml &lt;selector...

    Laravel开发-selector

    选择器模式(Selector Pattern)是一种设计模式,它允许在运行时动态地选择算法或行为,提供了一种灵活的方式来应对多态性。在 Laravel 开发中,这种模式可以被用来处理用户级别的参数或运行时的条件判断,以实现更...

    2021最新-Java NIO视频教程-视频教程网盘链接提取码下载 .txt

    教程内容涵盖:阻塞和非阻塞IO、Channel通道、Buffer缓冲区、Selector选择器、Pipe管道、FileLock文件锁,以及Path、Files、异步FileChannel和Charset字符编码等,并通过一个多人聊天室的综合案例,把所有的NIO知识...

    css-selector-tokenizer, 解析和 stringifies CSS选择器.zip

    css-selector-tokenizer, 解析和 stringifies CSS选择器 CSS模块:CSS选择器标记器解析和 stringifies CSS选择器。import Tokenizer from "css-selector-tokenizer";let input = "a#content.act

    selenium css selector 定位详解

    而CSS选择器(CSS Selector)是Selenium进行页面元素定位的一种非常重要的方式。本文将详细介绍如何使用Selenium配合CSS选择器来进行页面元素的精准定位。 #### 二、CSS选择器简介 CSS选择器是用于匹配文档中的...

    2-more-than-one-way-selector.rar_2选1选择器_FPGA 选择器_FPGA 多路选择_one

    在本文中,我们将深入探讨如何使用FPGA(Field-Programmable Gate Array)技术来实现一个2选1的多路选择器。FPGA是一种可编程的集成电路,它允许设计者根据需要配置逻辑门、触发器和其他基本逻辑单元,以实现各种...

    selector:JSON选择器-快速且易于使用的JSON选择器

    @ gizt / selector-快速和简单的JSON选择器 @gizt/selector是一个快速直观的JSON选择器(语法基于JSON表示法和glob)。 您可以在这里在线尝试 快速开始 npm install @gizt/selector 用法 // es6/browser import ...

Global site tag (gtag.js) - Google Analytics