`

Android中的Selector的用法

阅读更多

Android中的Selector主要是用来改变ListView和Button控件的默认背景。其使用方法可以按一下步骤来设计:


(以在mylist_view.xml为例)


1.创建mylist_view.xml文件

首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建mylist_view.xml,其目录结构为:res/drawable/mylist_view.xml。


2.根据具体需求编辑mylist_view.xml文件

新建mylist_view.xml文件后,在没有添加任何属性时其内部代码结构为:

 

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8" ?>     
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">   
  3.    
  4. </selector>  

下面就可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下:

 

 

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8" ?>     
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">   
  3. <!-- 默认时的背景图片-->    
  4.   <item android:drawable="@drawable/pic1" />      
  5. <!-- 没有焦点时的背景图片 -->    
  6.   <item android:state_window_focused="false"     
  7.         android:drawable="@drawable/pic1" />     
  8. <!-- 非触摸模式下获得焦点并单击时的背景图片 -->    
  9.   <item android:state_focused="true" android:state_pressed="true"   android:drawable"@drawable/pic2" />   
  10. <!-- 触摸模式下单击时的背景图片-->    
  11. <item android:state_focused="false" android:state_pressed="true"   android:drawable="@drawable/pic3" />    
  12. <!--选中时的图片背景-->    
  13.   <item android:state_selected="true"   android:drawable="@drawable/pic4" />     
  14. <!--获得焦点时的图片背景-->    
  15.   <item android:state_focused="true"   android:drawable="@drawable/pic5" />     
  16. </selector>  

3.引用mylist_view.xml文件

 


三种方法可以来引用刚才创建的文件:

(1)在ListView中添加如下属性代码

 

[html] view plaincopy
  1. android:listSelector="@drawable/mylist_view"  

(2)在ListView的item界面中添加如下属性代码

 

 

[html] view plaincopy
  1. android:background="@drawable/mylist_view"  

(3)利用JAVA代码直接编写

 

 

[java] view plaincopy
  1. Drawable drawable = getResources().getDrawable(R.drawable.mylist_view);   
  2. listView.setSelector(drawable);  

为了防止列表拉黑的情况发生,需要在ListView中添加以下的属性代码

 

 

[html] view plaincopy
  1. android:cacheColorHint="@android:color/transparent"  

属性介绍:

 

 

android:state_selected选中

android:state_focused获得焦点

android:state_pressed点击

android:state_enabled设置是否响应事件,指所有事件

1
0
分享到:
评论

相关推荐

    Android selector 完整demo

    本教程将深入探讨Android中的Selector及其使用方法,通过一个完整的Demo来帮助你理解和掌握这个核心概念。 首先,我们需要了解Selector的基本结构。一个Selector通常是一个XML文件,位于项目的res/drawable目录下。...

    浅谈android的selector背景选择器

    #### 三、ListView中使用Selector ##### 3.1 示例代码解析 ```xml &lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;!-- 默认状态下的背景图片 --&gt; &lt;item android:drawable="@drawable/...

    Android selector

    在这个"Android selector"主题中,我们将深入探讨如何创建并使用状态选择器来控制按钮(Button)和文字的样式变化。 首先,一个状态选择器通常是一个XML文件,存储在res/drawable目录下。例如,我们可以创建一个名...

    Android中的Selector的用法详解及实例

    Android中的Selector的用法详解及实例 Android中的Selector是一种强大的工具,可以根据不同的状态来改变控件的背景图片或文字颜色。Selector的用法非常灵活,开发者可以根据需要来设置不同的状态和对应的图片或颜色...

    Android -- Time-Selector日期选择控件.zip

    - `README.md`: 项目的介绍、使用方法和注意事项。 - `src/`: 源代码目录,包含`Time-Selector`控件的Java或Kotlin类。 - `res/`: 资源文件,包括布局文件(layout)、图片资源(drawable)、颜色值(color)等。 - ...

    Android文字颜色背景触摸点击反馈色之selector.zip

    `selectordemo`可能是包含一个示例项目的目录,展示了如何在Android Studio工程中使用`selector`实现文字和背景颜色的触摸反馈。通过分析和运行这个示例,开发者可以更直观地理解`selector`的工作原理,并将其应用到...

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

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

    Android使用selector修改TextView中字体颜色和背景色的方法

    在Android开发中,Selector是用于定义视图状态变化时外观的一种资源,它可以是颜色、图像或者形状等。本文将深入探讨如何使用Selector来修改TextView的字体颜色和背景颜色。 首先,我们来创建两个XML文件,分别用于...

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

    通过运行和分析这个示例,我们可以更直观地看到选择器的使用方法和效果,这对于初学者来说是非常有价值的参考资料。 总的来说,Android-Ultra-Photo-Selector是Android开发中一个实用的工具,它简化了多图片选择的...

    代码实现drawable的selector效果

    在Android中,可以使用BitmapShader或者NinePatch来实现,但更常见的是使用自定义的ImageView或者使用`CornerFamily`类来实现。例如,我们可以创建一个自定义的ImageView: ```java public class RoundImageView ...

    ColorSelector:Android ColorSelector

    #使用方法:(1)将ColorPickDialog.java拷贝到项目中。(2)在需要显示颜色选择对话框的地方添加如下代码:显示初始颜色为蓝色public void openColorDialog(View view) {ColorPickerDialog dialog = new ...

    Android selector的实例详解

    Android中的Selector是Android图形系统中一个非常重要的组件,它允许我们根据View的不同状态来显示不同的图像或颜色。Selector主要用于创建动态的、具有多种状态的图形,如按钮、列表项等的背景。以下是对Android ...

    Android Selector和Shape的使用方法

    这篇文章将详细讲解这两种资源的使用方法,以及如何结合使用它们来实现背景选择器、文字颜色选择器和背景渐变效果。 1. 背景选择器(Selector) Selector位于`res/drawable`目录下,它定义了不同状态下的图形资源。...

    Android ImageView的selector效果实例详解

    在平时开发中如Button我们给它加上selector分别呈现pressed以及normal效果能给我们的用户体验上大大增色不少,可是我们当我们是用ImageView来”当作”一个一个”Button”的时候发现直接设置selector却不起作用,当然...

    基于android背景选择器selector的用法汇总

    在Android开发中,背景选择器(Selector)是一个强大的工具,用于定义不同状态下的视图样式。本文将深入探讨如何创建和使用Selector,以及它在ListView、Button等组件中的应用。 一、创建Selector XML文件 ...

    Android中多图片选择器MultiImageSelector的使用(仿微信)

    本文将详细介绍如何在Android应用中使用`MultiImageSelector`库。 首先,你需要在项目中添加`MultiImageSelector`依赖。通常,这可以通过在`build.gradle`文件中添加依赖项来完成。确保在`dependencies`块中添加...

    Android shape和selector 结合使用实例代码

    下面将详细讲解这两个概念及其使用方法。 **1. Shape详解** Shape是Android中用于创建基本图形的XML元素,它可以定义为四种基本形状:矩形(rectangle)、椭圆(oval)、线(line)和环形(ring)。在res/drawable...

    Android 使用selector改变按钮状态实例详解

    总结一下,使用Selector是Android中实现控件状态变化的常用方式,它可以轻松地根据控件的不同状态显示不同的图像,提升用户体验。通过理解并熟练运用Selector,开发者可以更好地控制界面的交互效果,使得应用更加...

Global site tag (gtag.js) - Google Analytics