Android xml 效果之 layer drawable

来源:互联网 发布:张家口 知乎 编辑:程序博客网 时间:2024/06/04 01:25

今天继续填坑,同时也挖新坑。


Android xml 效果之 layer drawable 

layer drawable 可以用于多图层叠加绘制


一、基本属性

基本属性如下:

<?xml version="1.0" encoding="utf-8"?><layer-list    xmlns:android="http://schemas.android.com/apk/res/android" >    <item        android:drawable="@[package:]drawable/drawable_resource"        android:id="@[+][package:]id/resource_name"        android:top="dimension"        android:right="dimension"        android:bottom="dimension"        android:left="dimension" /></layer-list>

属性相对简单:

根节点 layer-list 

底下有一个或多个Item节点


节点 item 

每一个item代表一个图层,先写的item会先绘制,最后的item绘制在顶层


drawable 指定图片资源

top、right、bottom、left 这四个是指图片位置的偏移量


一般情况下,item 里的图片都会缩放适应控件的大小,可以通过设置偏移量来控制位置。

如果不想被缩放图片,可以使用 bitmap 节点,这样还可以额外指定一些属性。

<item android:drawable="@drawable/image" />
<item>  <bitmap android:src="@drawable/image"          android:gravity="center" /></item>

节点 bitmap 

属性如下

<?xml version="1.0" encoding="utf-8"?><bitmap    xmlns:android="http://schemas.android.com/apk/res/android"    android:src="@[package:]drawable/drawable_resource"    android:antialias=["true" | "false"]    android:dither=["true" | "false"]    android:filter=["true" | "false"]    android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |                      "fill_vertical" | "center_horizontal" | "fill_horizontal" |                      "center" | "fill" | "clip_vertical" | "clip_horizontal"]    android:mipMap=["true" | "false"]    android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />


android:antialias 启用或禁用抗锯齿 

android:dither 当位图和屏幕像素不同时,启用或禁用抖动位图(比如位图像素为 ARGB8888 屏幕像素为 RGB 565)

android:filter 启用或禁用位图过滤,启用后,当位图被收缩或拉伸时有光滑外观

android:gravity 指定位图在容器的位置重心,等同控件的 gravity

android:mipMap 启用或禁用 mipMap 提示,默认禁用 (位图需要缩小50%以上时,开启mipMap获得更好的显示效果,要求api 大于等于17)参看这里

android:tileMode 设置平铺模式,启用后 gravity 将失效 

  • disabled 默认值,不启用平铺功能
  • clamp 复制位图边缘颜色,充满容器的空白部分(边缘拉伸)
  • repeat 复制整体位图平铺,充满整个容器 (整体平铺)
  • mirror 复制整体位图,交替翻转平铺,充满整个容器(相邻的两张图是对称的)

翻译误差,可参看官方文档


二、效果











0 0
原创粉丝点击