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

android 样式选择器

阅读更多
一.创建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
或者在listview的item中添加属性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是设置是否响应事件,指所有事件

根据这些状态同样可以设置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:background="@drawable/button_color"


注:此文转载
分享到:
评论

相关推荐

    android 时间选择器

    在Android开发中,时间选择器(DatePicker)是一个常见的组件,用于让用户方便地选取日期或时间。本项目仿照苹果iOS的界面设计,提供了一个自定义的时间选择器,允许开发者进行高度自定义,如修改背景、字体等样式。...

    android滚轮选择器

    在Android开发中,滚轮选择器(Wheel View)是一种常见的用户界面组件,它允许用户通过滚动来选择一个值,常用于日期选择、时间选择等场景。本教程将深入探讨如何自定义一个底部弹出的滚轮选择器。 一、滚轮选择器...

    Android 横向选择器(HorizontalPickerView.java)

    自定义Android 横向选择器

    Android 地区选择器,简洁集成,节省资源

    在Android应用开发中,地区选择器是一个常见的组件,用于让用户选择他们的城市或所在区域。"Android 地区选择器,简洁集成,节省资源"的标题表明这是一个专为开发者设计的解决方案,旨在简化集成过程,同时优化性能...

    Android自定义日期选择器源码

    在Android开发中,系统默认的日期和时间选择器虽然实用,但往往无法满足所有场景的需求。因此,开发者经常需要自定义日期选择器来提供更符合应用风格或特定功能的交互体验。这篇内容将深入探讨如何在Android中创建一...

    android 颜色选择器

    - 开源库通常提供高度可定制化选项,如颜色选择器的样式、颜色间距、颜色预览模式等。 5. **集成到项目**: - 将自定义颜色选择器作为一个独立的模块,封装成一个库,以便在多个项目中重用。 - 在需要颜色选择的...

    android 滚动数字选择器

    以上就是关于Android滚动数字选择器(TimePicker)的主要知识点,包括基本使用、自定义样式、API兼容性和无障碍支持等方面。在实际应用中,开发者需要根据项目需求灵活运用这些知识,以创建出符合用户体验的设计。

    Android颜色选择器大全

    本文将详细介绍Android颜色选择器的种类、实现方式以及如何在项目中集成这4种不同的颜色选择器样式。 1. **彩虹颜色选择器(Rainbow Color Picker)** 这种颜色选择器通常通过一个滑块来让用户选择色相(Hue),而...

    android 滚轮选择器

    在Android开发中,滚轮选择器(Wheel View)是一种常见的用户界面组件,它允许用户通过滚动来选择一个或多个值。滚轮选择器通常用于日期选择、时间选择、数字选择等场景,尤其在有限的屏幕空间中,它可以提供高效且...

    android水平滚动选择器spinner_wheel

    在Android开发中,Spinner Wheel是一种实现水平滚动选择的控件,它可以用于创建类似时间选择器的效果,用户可以方便地左右滑动来选择所需项。这个控件提供了自定义的美观界面,增强了用户交互体验,特别是在需要展示...

    android时间选择器

    在Android开发中,时间选择器是一个非常常见的组件,它允许用户方便地选择日期和时间。在本案例中,我们讨论的是一个基于WheelView实现的时间选择器,它支持年、月、日、时、分、秒的选择。WheelView是Android中一种...

    Android时间选择器两种实现(自定义的年、月、日、时、分)

    在Android开发中,时间选择器是一个常见的用户界面组件,它允许用户方便地选取特定的时间,如年、月、日、时、分。本教程将详细讲解两种自定义时间选择器的实现方法,确保精确到分钟,并提供可复用的自定义View代码...

    Android城市选择器

    4. **自定义配置**:根据项目需求,可能需要修改默认的城市数据,或者调整UI样式,这可以通过修改选择器内部的API实现。 5. **处理结果**:当用户在选择器中完成选择后,通过注册的回调函数接收选择的城市信息,并...

    Android颜色选择器

    6. **可定制性**:考虑到不同应用可能有各自的风格需求,颜色选择器应该提供足够的自定义选项,如主题色、布局样式等。 在阅读`devolonter-Pretty-Painter-63f9d68`这个版本的源码时,我们可以关注以下几点: - ...

    4个Android时间选择器

    在给定的标题“4个Android时间选择器”中,我们理解到这里有四种不同样式的时间选择器,其中一种是仿照iPhone设计的。这通常意味着开发者可能在寻找更丰富的用户体验或者特定的视觉效果。下面将详细探讨Android时间...

    Android时间选择器样式jquery插件

    1. **仿Android样式**:时间选择器的外观和感觉与Android原生时间选择器一致,提供了一种用户熟悉的交互方式,特别是在移动设备上。 2. **响应式设计**:该插件能够适应不同的屏幕尺寸,无论是桌面还是移动设备,都...

    Android-YbAndroidPicker日期选择器身高选择器体重选择器城市选择器

    在Android应用开发中,UI控件的选择器是用户交互中不可或缺的部分。`YbAndroidPicker`是一个开源项目,专门提供日期选择器、身高选择器、体重选择器和城市选择器等自定义控件,适用于各种场景下的数据输入,极大地...

    Android 时间选择器

    在Android开发中,时间选择器(TimePicker)是用户界面中的一个重要组件,它允许用户选择一个具体的时间,例如小时和分钟。本教程将详细介绍如何在Android应用中集成和使用时间选择器。 首先,我们需要理解`...

Global site tag (gtag.js) - Google Analytics