Android图层妙用之layer

您所在的位置:网站首页 颜色叠加是什么意思啊 Android图层妙用之layer

Android图层妙用之layer

2024-06-26 19:05:52| 来源: 网络整理| 查看: 265

本文转载自layer-list – layer-list的基本使用介绍

1. layer-list 是啥?有啥作用? 1.1 layer-list 是什么?

简单理解,layer 是层,list 是列表,那么 layer-list 就是层列表的意思。但是,是什么层列表呢?? 其实 layer-list 是用来创建 LayerDrawable 的,LayerDrawable 是 DrawableResource 的一种, 所以,layer-list 创建出来的是 图层列表,也就是一个drawable 图形。

1.2 layer-list 用途

上面已经说过,layer-list 是用来创建 图层列表的,通过它能创建出一些特殊的 drawable, 比如: 下图 AlertDialog 中,我们只需要设置 button 的 顶部边线,以及 左侧button的右边线(或者右侧button的左边线),这种时候我们就无法直接使用 shape 了,因为直接使用 shape 绘制出来的是四个边框; 如果让美工切图也可以,但那样的话灵活度就差了很多,而且会增加app的体积;这种情况下,使用 layer-list 就是最佳选择。当然,layer-list 的用途还有很多,这里只是举一个例子,具体的使用请继续往下看。 这里写图片描述

2. layer-list 的大致原理

layer-list 的大致原理类似 RelativeLayout(或者FrameLayout) ,也是一层层的叠加 ,后添加的会覆盖先添加的。在 layer-list 中可以通过 控制后添加图层距离最底部图层的 左上右下的四个边距等属性,得到不同的显示效果。

上面示例图中,AlertDialog 底部的 ok按钮 的背景就是用layer-list实现的。该layer-list 中,底层使用一个填充色为蓝色 的shape,上层使用一个填充色为白色的shape ,然后控制上层距离最底层的顶部边距为1dp , 这样在视觉上就形成了一个 具有蓝色顶部边线的白色背景。具体代码继续往下看。

3. layer-list 基本使用示例:

因 layer-list 创建出来的也是 drawable 资源,所以,同 shape selector 一样,都是定义在 res 中的 drawable 文件夹中,也是一个 xml 文件。使用的时候,同shape selector , 布局文件中使用 @drawable/ xxx 引用, 代码中使用 R.drawable.xxx 引用。

layer-list 中不同的图层使用 item 节点来定义。

3.1 效果1 :单一边线

效果图:

图中,TextView 只有一个顶部边线 这里写图片描述 具体代码:

创建带有蓝色顶部边线的 layer-list 图

在 res 目录中的 drawable 目录下,创建名称为 singleline.xml 的xml 文件,然后编辑 layer-list 的详细代码,如下:

使用 layer-list 图,设置为textView的背景 3.2 效果2 :双边线

效果图:

图中,TextView 具有上下边线 这里写图片描述 具体代码:

创建带有蓝色顶部和底部边线的 layer-list 图 使用 layer-list 图,设置为textView的背景 3.3 效果3:阴影

效果图: 这里写图片描述 具体代码:

创建 layer-list 使用 layer-list 图 3.4 效果4 : 图片层叠

图片层叠的时候,有两种效果,一种是缩放后层叠,一种是不缩放的层叠。默认是缩放效果。具体效果以及实现代码如下:

效果图 1) : 带有缩放效果的 这里写图片描述 具体代码 1):

创建 layer-list

或者也可以使用如下代码,实现缩放的叠加图:

使用 layer-list 图

效果图 2):不带缩放效果的

注意: A. 不缩放的时候,必须在 item 节点中使用 bitmap 节点,并给 bitmap 设置 gravity=center ; B. 虽然在实现缩放效果的时候,可以直接使用 item 中的 drawable属性,但实现不缩放的效果时,如果还用drawable 属性,即便给item 设置了gravity =center ,在真机上的效果依旧是缩放的。(但模拟器是不缩放的)

这里写图片描述 具体代码 2):

创建 layer-list 使用 layer-list 图 3.5 效果5 :叠加旋转

效果图: 这里写图片描述 具体代码:

创建 layer-list

旋转的时候,只需要给出 起始的角度( fromdegress )即可。

使用 layer-list 图 4. layer-list 的扩展使用 4.1.实现选择器的效果

主要使用组件:RadioGroup Selector layer-list 1). 效果图: 这里写图片描述

2). 具体代码 定义 selector 选择器 selector 的 item 节点中,直接嵌套 layer-list 当然也可以先写好layer-list ,然后再去引用

注意: 在上面的代码中,由于并没有具体的shape ,所以可以省略shape , 直接用 color , 简化后的代码如下:

使用selector

注意: 在 RadioGroup 中,是通过 RadioButton 的 id 来控制是否选中。 所以,如果需要设置某一个 RadioButton 为默认选中,就必须给该 RadioButton 设置 id ; 如果不设置 id ,导致的结果就是该 RadioButton 会一直处于选中状态!!!



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭