Android样式之layer-list
2015-12-22 15:21
495 查看
1 概述
layer-list可以将多个drawable按照顺序层叠在一起显示。layer-list可以作为根节点,也可以作为selector中item的子节点。layer-list可以添加多个item子节点,每个item子节点对应一个drawable资源,按照item从上到下的顺序叠加在一起,再通过设置每个item的偏移量就可以看到阴影等效果了.layer-list对应的实体类:LayerDrawable
2 layer-list的item偏移量
偏移量和控件的margin设置差不多,都是外间距的效果。如何不设置偏移量,前面的图层就完全挡住了后面的图层,从而也看不到后面的图层效果了.android:top 顶部的偏移量 android:bottom 底部的偏移量 android:left 左边的偏移量 android:right 右边的偏移量
偏移量设为负值时,偏移超出的部分会被截掉而看不到。
3 item的用法
根节点不同时,可设置的属性是会不同的 比如selector下,可以设置一些状态属性,而在layer-list下,可以设置偏移量; 就算父节点同样是selector,放在drawable目录和放在color目录下可用的属性也会不同 比如drawable目录下可用的属性为android:drawable, 在color目录下可用的属性为android:color; item的子节点可以为任何类型的drawable类标签 包括shape、color、layer-list,selector,bitmap、clip、scale、inset、 transition、rotate、animated-rotate、lever-list等等。
注:item的顺序是最上面的会被下面的item覆盖
4 代码实现
Resources r = getResources(); Drawable[] layers = new Drawable[2]; layers[0] = r.getDrawable(R.drawable.pic1); layers[1] = r.getDrawable(R.drawable.pic2); LayerDrawable layerDrawable = new LayerDrawable(layers); ((ImageView) findViewById(R.id.imageview)).setImageDrawable(layerDrawable);
5 使用场景
背景图片直接加阴影效果 实现层叠效果
6源码参考
地址见github相关文章推荐
- android.mk文件语法
- Android Style之属性动画
- Android样式的开发之drawable
- Android入门之Activity四种启动模式(standard、singleTop、singleTask、singleInstance)
- 微博客户端授权的时候不回调WeiboAuthListener里面的方法
- 10个Android开源个性化View控件
- android 硬件加速
- Android中ListView添加事件并获取选中项的值
- Android常用代码片段(一)
- Android 样式开发之shape
- 彻底明白Android中AIDL及其使用
- android 一个应用两个入口一个应用两个快捷方式(不同图标显示)
- Android开发笔记(二十三)文件对话框FileDialog
- Android样式开发之selector
- Android 开发中遇到的问题与解决方式
- Android 一个窗口是怎么创建出来的?
- 【转】android蓝牙开发 蓝牙设备的查找和连接
- Android之TypedArray 为什么需要调用recycle()
- 详解Android四种存储方式
- Android开发BUG集锦