- 浏览: 133151 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
newhxj:
03-21 10:56:35.850: E/Web Conso ...
Android简易Flash播放器[转] -
roiz:
谢谢 很好正需要这资料
精确监听AbsListView滚动至底部[转]
关于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还可以实现更复杂的效果,例如渐变啊等等。
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>
最后,需要在包含button的xml文件里添加两项。假如是main.xml 文件,我们需要在<Button />里加两项。
android:focusable="true"
android:backgroud="@drawable/button_color"
这样当你使用Button的时候就可以甩掉系统自带的那黄颜色的背景了,实现个性化的背景,配合应用的整体布局非常之有用啊.
转至:http://www.2cto.com/kf/201110/107866.html
发表评论
-
android Theme使用总结
2012-12-12 19:22 1490今天对api中style下的theme整个摸了一遍。 ... -
android优化——adapter
2012-12-12 18:56 1504什么是Adapter,可以先看看我的上一篇文章,Andr ... -
listview样式设置——自定义背景、分隔[转]
2012-12-12 14:13 822在Android中,ListView是最常用的一个控件, ... -
draw9patch不失真背景
2012-12-12 00:23 13231.背景自适应且不失真问题的存在 制作自适应背 ... -
android布局之RelativeLayout属性
2012-12-11 23:06 1233android:layout_above ... -
Android ListView下拉刷新点击加载更多[转]
2012-12-03 09:04 1707这个ListView的下拉刷新算是不错了。网上找了很多个 ... -
BitmapFactory.Options详解[转]
2012-11-21 20:50 3316public Bitmap in ... -
Android简易Flash播放器[转]
2012-01-20 21:16 1942上一节,大体说了下在Android程序中嵌套Flash动 ... -
将flash嵌入你的程序中[转]
2012-01-20 21:12 1222无论如何,我们需要一个android2.2的平板电脑 ... -
Android实现ListView异步加载图片[转]
2011-11-30 11:17 728ListView异步加载图片是非常实用的方法,凡是是要通过网络 ... -
精确监听AbsListView滚动至底部[转]
2011-11-10 09:00 1445用户使用android客户端时,当Lis ... -
可动态布局的Android抽屉之完整篇[转]
2011-11-10 09:00 1108上次介绍了基础篇,讲解了自定义抽屉控件的基 ... -
可动态布局的Android抽屉之基础[转]
2011-11-10 08:59 1588以前曾经介绍过《Android提高第十九篇 ... -
Android提高第二十一篇之MediaPlayer播放网络视频
2011-11-10 08:59 2639上次讲解了MediaPlayer播放网络音 ... -
Android提高第二十篇之MediaPlayer播放网络音频[转]
2011-11-10 08:58 789以前曾经地介绍过MediaPlayer的基本用 ... -
Android提高第十九篇之"多方向"抽屉[转]
2011-11-09 13:35 1203在android上要实现类似Launch的 ... -
Android提高十八篇之自定义Menu(TabMenu)[转]
2011-11-09 13:35 900用过UCWEB-Android版的人都应 ... -
Android提高十七篇之多级树形菜单的实现[转]
2011-11-09 13:35 896在Android里要实现树形菜单,都是用 ... -
Android提高十六篇之使用NDK把彩图转换灰度图[转]
2011-11-09 13:34 1058在Android上使 ... -
Android提高第十五篇之ListView自适应实现表格[转]
2011-11-09 13:34 873上次介绍了使用GridView实现表格, ...
相关推荐
### 浅谈Android的Selector背景选择器 #### 一、引言 在Android开发中,为了提高用户体验,经常需要对控件的外观进行定制化处理,特别是在不同的交互状态下展示不同的视觉效果。`Selector`作为Android中一个非常...
本篇文章将深入探讨Android中的Selector背景选择器的使用方法。 首先,让我们了解Selector的基本结构。Selector是XML文件,通常存储在项目的res/drawable目录下。以下是一个简单的Selector示例: ```xml <selector...
在Button中,我们主要用到两种Selector:一种是background selector(背景选择器),用于改变按钮的背景颜色或图片;另一种是text_color selector(文本颜色选择器),用于改变按钮的文字颜色。 2. **背景选择器...
在Android开发中,背景选择器(Selector)是一个强大的工具,用于定义不同状态下的视图样式。本文将深入探讨如何创建和使用Selector,以及它在ListView、Button等组件中的应用。 一、创建Selector XML文件 ...
"Android-ContactSelector联系人选择器选择联系人"是这样一个组件,它简化了这一过程,提供了优雅的用户体验。这个项目通常被包含在应用中,用于获取用户的联系人信息,例如在发送消息、添加朋友或者分享内容时。 ...
总的来说,“带有背景选择器的GridView”是一个实用的UI设计,通过合理利用Android的背景选择器特性,我们可以为用户提供更直观的交互反馈,提升应用的用户体验。通过阅读和分析提供的“带有背景选择器的GridView”...
在Android开发中,Selector背景选择器是一个强大的工具,它允许开发者根据View的不同状态来改变其背景,从而提供更丰富的交互体验。本篇文章将深入探讨Selector的结构和使用方法,并通过实例来展示其功能。 ...
然后将这个颜色选择器设置到TextView的`android:textColor`属性上。 Demo中的`TestOne`可能包含了一个完整的应用实例,展示了如何创建和使用Selector。在实践中,你可以尝试修改Selector中的状态和对应的图像/颜色...
Android 仿京东商城底部布局的选择效果...Android 仿京东商城底部布局的选择效果是通过 Selector 选择器来实现的,Selector 选择器可以根据不同的状态来设置不同的背景图片或颜色,从而实现了底部布局的选择效果。
在这个"Android selector"主题中,我们将深入探讨如何创建并使用状态选择器来控制按钮(Button)和文字的样式变化。 首先,一个状态选择器通常是一个XML文件,存储在res/drawable目录下。例如,我们可以创建一个名...
在Android开发中,时间选择器是一个常见的用户界面组件,它允许用户方便地选取特定的时间,如年、月、日、时、分。本教程将详细讲解两种自定义时间选择器的实现方法,确保精确到分钟,并提供可复用的自定义View代码...
2. **Selector**: Selector是Android中的状态选择器,它可以定义不同状态下的图形表现。比如,当按钮被按下、聚焦或者默认状态时,背景可以有不同的颜色或样式。通过在XML中定义`<selector>`元素,可以轻松地实现...
在Android开发中,选择器(Selector)是一种非常重要的资源类型,它允许我们为UI组件(如按钮或RadioButton)定义不同的状态,并在用户交互时改变组件的外观。本篇将深入探讨如何通过XML来定制Android的Selector,...
【Java_Picture Selector Library for Android】是一个专门为Android平台设计的图片选择库,它为开发者提供了一个用户友好的界面,使得用户在应用中可以方便地选择、裁剪和预览图片。这个库通常用于社交应用、图像...
在Android开发中,Selector是用于定义视图状态变化时外观的一种资源,它可以是颜色、图像或者形状等。本文将深入探讨如何使用Selector来修改TextView的字体颜色和背景颜色。 首先,我们来创建两个XML文件,分别用于...
首先,我们要理解Android中的选择器(Selector)。在Android中,选择器通常指的是`android.widget.CompoundButton`类的子类,如`CheckBox`或`Switch`,它们可以用来表示两种状态之间的切换。在这里,我们将创建一个...
【Android Selector 状态选择器详解】 在Android开发中,提供了一种强大的机制,名为Selector,它允许开发者根据控件的不同状态来改变其显示效果,从而提升用户体验。Selector主要用于定义按钮、菜单项等交互元素在...
Android Tablayout 自定义Tab布局的使用案例 Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能。Tablayout 中的 Tab 可以自定义布局,以满足不同的需求。本文将 introduction 了 Android ...
在上面的示例代码中,我们使用 `android:textColor` 属性将文字颜色设置为选择器 `@drawable/guide_btntext_selector`,使用 `android:background` 属性将背景图片设置为选择器 `@drawable/guide_btn_selector`。...