作者原文地址:http://blog.csdn.net/shakespeare001/article/details/7788400
作者系列文章:http://blog.csdn.net/shakespeare001/article/category/923550
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文件后,在没有添加任何属性时其内部代码结构为:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>
下面就可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下:
<?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>
3.引用mylist_view.xml文件
三种方法可以来引用刚才创建的文件:
(1)在ListView中添加如下属性代码
android:listSelector="@drawable/mylist_view"
(2)在ListView的item界面中添加如下属性代码
android:background="@drawable/mylist_view"
(3)利用JAVA代码直接编写
Drawable drawable = getResources().getDrawable(R.drawable.mylist_view);
listView.setSelector(drawable);
为了防止列表拉黑的情况发生,需要在ListView中添加以下的属性代码
android:cacheColorHint="@android:color/transparent"
属性介绍:
android:state_selected选中
android:state_focused获得焦点
android:state_pressed点击
android:state_enabled设置是否响应事件,指所有事件
相关推荐
本教程将深入探讨Android中的Selector及其使用方法,通过一个完整的Demo来帮助你理解和掌握这个核心概念。 首先,我们需要了解Selector的基本结构。一个Selector通常是一个XML文件,位于项目的res/drawable目录下。...
#### 三、ListView中使用Selector ##### 3.1 示例代码解析 ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 默认状态下的背景图片 --> <item android:drawable="@drawable/...
在这个"Android selector"主题中,我们将深入探讨如何创建并使用状态选择器来控制按钮(Button)和文字的样式变化。 首先,一个状态选择器通常是一个XML文件,存储在res/drawable目录下。例如,我们可以创建一个名...
Android中的Selector的用法详解及实例 Android中的Selector是一种强大的工具,可以根据不同的状态来改变控件的背景图片或文字颜色。Selector的用法非常灵活,开发者可以根据需要来设置不同的状态和对应的图片或颜色...
- `README.md`: 项目的介绍、使用方法和注意事项。 - `src/`: 源代码目录,包含`Time-Selector`控件的Java或Kotlin类。 - `res/`: 资源文件,包括布局文件(layout)、图片资源(drawable)、颜色值(color)等。 - ...
`selectordemo`可能是包含一个示例项目的目录,展示了如何在Android Studio工程中使用`selector`实现文字和背景颜色的触摸反馈。通过分析和运行这个示例,开发者可以更直观地理解`selector`的工作原理,并将其应用到...
本篇文章将深入探讨Android中的Selector背景选择器的使用方法。 首先,让我们了解Selector的基本结构。Selector是XML文件,通常存储在项目的res/drawable目录下。以下是一个简单的Selector示例: ```xml <selector...
在Android开发中,Selector是用于定义视图状态变化时外观的一种资源,它可以是颜色、图像或者形状等。本文将深入探讨如何使用Selector来修改TextView的字体颜色和背景颜色。 首先,我们来创建两个XML文件,分别用于...
通过运行和分析这个示例,我们可以更直观地看到选择器的使用方法和效果,这对于初学者来说是非常有价值的参考资料。 总的来说,Android-Ultra-Photo-Selector是Android开发中一个实用的工具,它简化了多图片选择的...
在Android中,可以使用BitmapShader或者NinePatch来实现,但更常见的是使用自定义的ImageView或者使用`CornerFamily`类来实现。例如,我们可以创建一个自定义的ImageView: ```java public class RoundImageView ...
#使用方法:(1)将ColorPickDialog.java拷贝到项目中。(2)在需要显示颜色选择对话框的地方添加如下代码:显示初始颜色为蓝色public void openColorDialog(View view) {ColorPickerDialog dialog = new ...
Android中的Selector是Android图形系统中一个非常重要的组件,它允许我们根据View的不同状态来显示不同的图像或颜色。Selector主要用于创建动态的、具有多种状态的图形,如按钮、列表项等的背景。以下是对Android ...
这篇文章将详细讲解这两种资源的使用方法,以及如何结合使用它们来实现背景选择器、文字颜色选择器和背景渐变效果。 1. 背景选择器(Selector) Selector位于`res/drawable`目录下,它定义了不同状态下的图形资源。...
在平时开发中如Button我们给它加上selector分别呈现pressed以及normal效果能给我们的用户体验上大大增色不少,可是我们当我们是用ImageView来”当作”一个一个”Button”的时候发现直接设置selector却不起作用,当然...
在Android开发中,背景选择器(Selector)是一个强大的工具,用于定义不同状态下的视图样式。本文将深入探讨如何创建和使用Selector,以及它在ListView、Button等组件中的应用。 一、创建Selector XML文件 ...
本文将详细介绍如何在Android应用中使用`MultiImageSelector`库。 首先,你需要在项目中添加`MultiImageSelector`依赖。通常,这可以通过在`build.gradle`文件中添加依赖项来完成。确保在`dependencies`块中添加...
下面将详细讲解这两个概念及其使用方法。 **1. Shape详解** Shape是Android中用于创建基本图形的XML元素,它可以定义为四种基本形状:矩形(rectangle)、椭圆(oval)、线(line)和环形(ring)。在res/drawable...
总结一下,使用Selector是Android中实现控件状态变化的常用方式,它可以轻松地根据控件的不同状态显示不同的图像,提升用户体验。通过理解并熟练运用Selector,开发者可以更好地控制界面的交互效果,使得应用更加...