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. JS实现日程安排 日程安排插件

    代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EmpWeekPla ...

  2. 基于MVC4+EasyUI的Web开发框架经验总结(6)--在页面中应用下拉列表的处理

    在很多Web界面中,我们都可以看到很多下拉列表的元素,有些是固定的,有些是动态的:有些是字典内容,有些是其他表里面的名称字段:有时候引用的是外键ID,有时候引用的是名称文本内容:正确快速使用下拉列表的 ...

  3. Ubuntu Server 16.04下ASP.NET Core Web Api + MySql + Dapper在 Jexus、nginx 下的简单测试

    一.环境及工具 1.服务器 VirtualBox5.1.4 安装 Ubuntu Server 16.04 amd64 MySql Ver 14.14 Distrib 5.6.21 Jexus 5.8. ...

  4. svn无法创建分支的解决方法

    创建分支时出现错误 Access to '/svn/project01/!svn/rvr/18022/trunk' forbidden 解决方法: 找到project01仓库的根目录,假如在d:\sv ...

  5. 不可或缺 Windows Native (17) - C++: 类与对象

    [源码下载] 不可或缺 Windows Native (17) - C++: 类与对象 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 类与对象 示例1.类的设计CppE ...

  6. VS2010下安装Cocos2dx完整教程(原)

    一.本人所使用的Cocos2dx版本(cocos2d-2.1rc0-x-2.1.3),下载地址:http://code.google.com/p/cocos2d-x/downloads/list 当前 ...

  7. selenium + python自动化测试环境搭建

    selenium的在python平台的搭建: 搭建平台windows 准备工具如下: --------------------------------------------------------- ...

  8. linux非常用但很有用的命令

    查找指定目录下包含指定字符串的所有文件 grep -rl 'abc' / top查看命令的完整启动路径 top 按c top以MB为单位显示内存信息 top -M 查看内存top io趋势 pidst ...

  9. SQLServer2008部署镜像

    SQL Server 2008 R2数据库镜像部署 概述 “数据库镜像”是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server ...

  10. ENVI软件操作【数据显示操作——Overlay菜单操作】

    一.注记层(Annotation) 注记层是ENVI的一个数据类型,它的后缀名是.ann.往往作为栅格数据层,矢量数据层.三维场景会绘图图表的附加数据叠加在上面,还可以作为镶嵌图像时候的裁剪线.注记数 ...