layer-list:Android中layer-list使用详解
使用layer-list可以将多个drawable按照顺序层叠在一起显示,默认情况下,所有的item中的drawable都会自动根据它附上view的大小而进行缩放,
layer-list中的item是按照顺序从下往上叠加的,即先定义的item在下面,后面的依次往上面叠放
例子
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" ><item ><shape android:shape="rectangle" ><solid android:color="#0000ff"/></shape></item><item android:bottom="25dp" android:top="25dp" android:left="25dp" android:right="25dp"><shape android:shape="rectangle" ><solid android:color="#00ff00" /></shape></item><item android:bottom="50dp" android:top="50dp" android:left="50dp" android:right="50dp"><shape android:shape="rectangle" ><solid android:color="#ff0000" /></shape></item> </layer-list>
布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:layout_width="150dp"android:layout_height="150dp" android:background="@drawable/layer_list"/> </LinearLayout>
效果图
红色item最后定义在最上方,绿色item中间,最先定义蓝色最下边
这里设置了android:bottom="50dp" android:top="50dp" android:left="50dp" android:right="50dp"属性
android:top="50dp";表示该item上边以ImageView上边界往里面缩了50dp
android:bottom="50dp"表示该item下边以ImageView下边界往里面缩了50dp
android:left="50dp";表示该item左边以ImageView左边界往里面缩了50dp
android:right="50dp";表示该item右边以ImageView右边界往里面缩了50dp
android:bottom="25dp" android:top="25dp" android:left="25dp" android:right="25dp"类似
layer-list给指定view实现三面边框
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" ><item ><shape android:shape="rectangle" ><solid android:color="#ff0000"/></shape></item><item android:bottom="2dp" android:top="2dp" android:right="2dp"><shape android:shape="rectangle" ><solid android:color="#ffffff" /></shape></item></layer-list>
布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:layout_width="150dp"android:layout_height="50dp"android:background="@drawable/border"android:layout_gravity="center"android:orientation="vertical"></LinearLayout> </LinearLayout>
效果图
实现带阴影的按钮效果:
代码:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><!-- 灰色阴影 --><layer-list> <itemandroid:left="2dp"android:top="4dp"><shape><solid android:color="@android:color/darker_gray" /><corners android:radius="4dp" /></shape></item><!-- 红色前景 --><itemandroid:bottom="4dp"android:right="2dp"><shape><solid android:color="#FF0000" /><corners android:radius="4dp" /></shape></item></layer-list></item><item><!-- 灰色阴影 --><layer-list> <itemandroid:left="2dp"android:top="4dp"><shape><solid android:color="@android:color/darker_gray" /><corners android:radius="4dp" /></shape></item><!-- 白色前景 --><itemandroid:bottom="4dp"android:right="2dp"><shape><solid android:color="#FFFFFF" /><corners android:radius="4dp" /></shape></item></layer-list></item> </selector>
<END>
layer-list:Android中layer-list使用详解相关推荐
- android studio parcelable,Android中Parcelable的使用详解
Parcelable与Serializable Serializable是Java为我们提供的一个标准化的序列化接口. Parcelable是Android为我们提供的序列化的接口. 对比: 1.Pa ...
- Android中的四大组件详解
Android中的四大组件详解 我们都知道Android系统应用层框架中,为开发者提供了四大组件来便于应用的开发,它们是Activity.Service.BroadcastReceiver.Conte ...
- RxJava操作符在android中的使用场景详解(一)
转载请注明出处:http://www.wangxinarhat.com/2016/04/19/2016-04-19-rxjava-android-operate1/ 最近学习了RxJava在andro ...
- Android中图片压缩方案详解
如感觉排版不舒服,可移步至此处查看 图片的展示可以说在我们任何一个应用中都避免不了,可是大量的图片就会出现很多的问题,比如加载大图片或者多图时的OOM问题,可以移步到Android高效加载大图.多图避 ...
- Android中LayoutParams类精炼详解
一.前期基础知识储备 首先看几个使用LayoutParams的实例: 1.<Android开发艺术探索>第8章,Java代码中动态设置按钮时 通过LayoutParams参数设置按钮位置x ...
- Android中R.java文件详解
R.java文件有两种,两种文件作用一样都是获取资源的引用,区别在于一个存放着我们写的项目中资源的引用,另一个存放着系统定义好的一些资源 1.1 项目的R.java文件 先说第一种是项目编译出来的R. ...
- Android中AIDL的使用详解
Git: https://github.com/whtchl/AidlTemplate AIDL用来做什么 AIDL是Android中IPC(Inter-Process Communication)方 ...
- Android 中ContentProvider和Uri详解
一.使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给 ...
- android token机制_对Android 中的 ANR 进行详解
前言 关于ANR,以前只知道Activity.BroadCastReceiver.Service三种组件的ANR时限.一般采用哪些方式避免ANR.以及通过data/anr/traces.txt去分析A ...
- Android中的广播Broadcast详解
今天来看一下Android中的广播机制,我们知道广播Broadcast是Android中的四大组件之一,可见他的重要性了,当然它的用途也很大的,比如一些系统的广播:电量低.开机.锁屏等一些操作都会发送 ...
最新文章
- centos6.4安装mysql的过程中出现的bug
- A JWT old for new exchange schema
- UI基本控键UIView ,UILabel,UITextField ,UIButton,UIAlertView
- 可用性测试(用户体验)测试
- Categories
- C++ vector简单demo
- java和jsp交互 structs_Struts与jsp+javabean+servlet区别
- 实习成长之路:设计模式二:接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?
- 从零开始研发GPS接收机连载——3、用HackRF软件无线电平台作为GPS模拟器
- x64技术之SSDT_Hook
- 百度竞价关键词选词技巧
- 125KHz 100cm ID 读卡电路_二维码门禁读卡器动态二维码扫描器二维码刷卡读头介绍...
- educoder 数据库原理与应用 实验六 约束与索引
- 关于nomogram核心函数的time.inc函数的设定
- 500篇干货解读人工智能新时代
- CF1139C Edgy TreesDFS求连通块大小、思维
- execute(),executeQuery(),executeUpdate()和executeBatch()的使用与区别
- Android源码编译遇到Java虚拟机内存不够等相关Jack问题,解决方法
- JAVA读取注册表中的值
- python儿童宣传-为什么让孩子学Python会这么火?