selector ---选择器

在App的使用中经常能看到selector的身影

如:一个按键看上去白色或者其它颜色,可能是一张图片

按下去又显示其它的颜色或者另外一张图片

这里使用shape配合使用

正常状态

<?xml version="1.0" encoding="utf-8"?>
<!--
rectangle 矩形
oval 椭圆
line 一条线
ring 环形
-->
<shape
android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android"> <!--4个角的圆角-->
<corners android:radius="8dp"/> <!--内边距-->
<padding android:bottom="5dp"
android:left="3dp"
android:right="3dp"
android:top="5dp"/> <!--填充颜色-->
<solid android:color="#09A3DC"/> <!--边框颜色--> <stroke android:color="#88000000"
android:width="1dp"/> </shape>

按下状态

<?xml version="1.0" encoding="utf-8"?>
<!--
rectangle 矩形
oval 椭圆
line 一条线
ring 环形
-->
<shape
android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android"> <!--4个角的圆角-->
<corners android:radius="8dp"/> <!--内边距-->
<padding android:bottom="5dp"
android:left="3dp"
android:right="3dp"
android:top="5dp"/> <!--填充颜色-->
<solid android:color="#0066A0"/> <!--边框颜色--> <stroke android:color="#88000000"
android:width="1dp"/> </shape>

selector

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--按下时显示这个shape android:state_pressed="true"这里可以有多种状态选择,
-->
<item android:drawable="@drawable/shap_btn_press" android:state_pressed="true" /> <!--平时显示这个shape-->
<item android:drawable="@drawable/shap_btn_normal"/> </selector>

布局中引用

<Button
android:layout_margin="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:background="@drawable/selector_main_btn"
android:text="确定"/>

有图片就去需要建立一个selector 在drawable指定不同的图片即可,在ImageView指定background使用selector,再指定相就事件来触发,

下面是点击事件

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" android:drawable="@drawable/ic_menu_add_pressed"/>

    <item android:drawable="@drawable/ic_menu_add_normal"/>

</selector>

安卓--selector简单使用的更多相关文章

  1. 安卓开发:简单的登陆跳转_APK实现直接跳转到本CSDN博客

    最近在开始接触Android APP开发,有了一点java基础之后,安卓代码确实看起来就没有那么难了,可以跟着书上把例程敲一遍,然后熟能生巧可以应用起来,现在写了一个简单的APP,实现的是Edit编辑 ...

  2. 安卓--shape简单使用

    shape 先看下,系统自带的EditText和Button的外形 下面看加了shape后的效果 简单点讲,shape可以为组件加上背景边框,圆角之类的可以配合selector使用 shapeXXX. ...

  3. 安卓selector

    定义styles.xml <?xml version="1.0" encoding="utf-8"?> <resources> < ...

  4. 安卓入门——————简单记账本的开发(用sqlite存储数据)(一)

    设计思想————首先要确定有几个页面.和每个页面的大致布局 由于是入门,我也是学习了不是很长的时间,所以项目比较low.... 第一个页面,也就是打开APP的首页面: 今天这个博客,先实现添加功能!: ...

  5. 安卓APP简单后端的搭建

    写在前面: 此教程没有用到后端框架.只是单纯用servlet做一个例子,如果是学框架可以不用往下看了 本文适合哪些人:懂java的,会写android单机程序,懂得用HTTPClient等发送请求解析 ...

  6. 安卓入门——————简单记账本的开发(二)-点击listview跳转并实现数据的更新

    前言:   这个博客主要实现listview的跳转并实现对数据库内容的更新并显示到listview上,还没有实现listview的实时更新和listview具体线条的添加(接下来的几篇博客会实现),如 ...

  7. 安卓 Android 简单数据库(增删改查)

    <Button android:id="@+id/delete_btn" android:layout_width="wrap_content" andr ...

  8. 安卓Recycleview简单的网格布局-初学者的关键点

    导包 def supportVersion = '28.0.0' 定义常量我的sdk版本为28 implementation "com.android.support:recyclervie ...

  9. [安卓基础] 001.学习Android开发的好教程

    如果想自学android,有许多不错的android网站.这里收集了一些,列举如下: 国内 极客学院,这里有非常丰富的视频教程. http://www.jikexueyuan.com/course/a ...

随机推荐

  1. linux如何编译安装新内核支持NTFS文件系统?(以redhat7.2x64为例)

    内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核 ...

  2. 【Swift学习】Swift编程之旅(三)

    元组(tuples) tuples是将多个单一的值组合为一个复合的值.它可以包含任何类型的值,而不需要都是相同类型. 一.元组的创建 1. let http404error = (,"NOT ...

  3. If WCF Service side and Client side config is different?!

    from stackoverflow http://stackoverflow.com/questions/4879310/when-setting-up-a-wcf-client-and-serve ...

  4. 图片和Base64之间的转换

    public static Bitmap GetImageFromBase64String(string strBase) { try { MemoryStream stream = new Memo ...

  5. HoverTree项目添加了查看留言列表功能

    HoverTree项目添加了查看留言列表功能 页面:HoverTreeWeb项目下hvtpanel/usermessage/messagelist.aspx 添加留言页面:addmessage.asx ...

  6. C#的变迁史 - C# 5.0 之其他增强篇

    1. 内置zip压缩与解压 Zip是最为常用的文件压缩格式之一,也被几乎所有操作系统支持.在之前,使用程序去进行zip压缩和解压要靠第三方组件去支持,这一点在.NET4.5中已有所改观,Zip压缩和解 ...

  7. 【C#】1.3 WPF应用程序学习要点

    分类:C#.VS2015 创建日期:2016-06-14 使用教材:十二五国家级规划教材<C#程序设计及应用教程>(第3版) 一.要点概述 <C#程序设计及应用教程>(第3版) ...

  8. 不可或缺 Windows Native (12) - C++: 引用类型

    [源码下载] 不可或缺 Windows Native (12) - C++: 引用类型 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 引用类型 示例CppReferen ...

  9. Firemonkey Bitmap 设定像素颜色 Pixel

    VCL 和 Firemonkey 的 Bitmap 处理像素的方式不相同,下例为将图片内不是「白色」的像素全部改成「黑色」: procedure TForm1.Button1Click(Sender: ...

  10. 由一个异常开始思考springmvc参数解析

    首先记录一下异常,以及异常出现的原因和解决方案 异常主要信息: -- ::, ERROR [.jsp] - Name for argument type [java.lang.String] not ...