Bitmap
android 支持3中格式的图片.png(推荐使用) .jpg(可接受) .gif(推荐不使用)
文件位置:
res/drawable/filename.png
(.png
, .jpg
, or .gif
)
对应资源类:
资源引用:
In Java: R.drawable.filename
In XML: @[package:]drawable/filename
demo:
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/myimage" />
Resources res = getResources()
;
Drawable drawable = res.getDrawable
(R.drawable.myimage);
XML Bitmap
定义指向bitmap的引用,可以在xml中增加bitmap的额外属性。
文件位置:
res/drawable/filename.xml
对应资源类:
资源引用:
In Java: R.drawable.filename
In XML: @[package:]drawable/filename
语法:
<?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
是否启用抖动效果
抖动:图像的抖动处理,当每个颜色值以低于8位表示时,对应图像做抖动处理可以实现在可显示颜色总数比较低(比如256色)时还保持较好的显示效果
android:filter
是否允许对位图进行滤波。对位图进行收缩或者延展使用滤波可以获得平滑的外观效果。
android:gravity
类型:关键字。定义位图的重力(gravity),如果位图小于其容器,使用重力指明在何处绘制
必需是下面的属性,多个之间用 | 分隔。
top 将图像放置在容器的顶部,不改变图像大小
bottom 将图像放置在容器的底部,不改变图像大小
left 将图像放置在容器的左边,不改变图像大小
right 将图像放置在容器的右边,不改变图像大小
center_vertical 将图像放置在容器垂直方向中间,不改变图像的大小
fill_vertical 将图像垂直方向拉伸,填满容器
center_horizontal 将图像放置在容器水平方向中间,不改变图像大小
fill_horizontal 将图像水平方向拉伸,填满容器
center 将图像放置在容器的水平和垂直方向中间,不改变图像大小
fill(默认)将图像水平方向和垂直方向拉伸,填满容器
clip_vertical 附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部.
垂直方向裁剪
clip_horizontal 附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.
水平方向裁剪
android:mipMap
是否使用文理映射过滤提示
android:tileMode
定义平铺方式,当启用该属性时,gravity被忽略。
disabled 不启用平铺方式(默认)
clamp 复制边缘色彩
repeat 在水平和垂直两个方向重复整个图片
mirror 在水平和垂直两个方向重复整个图片,相邻两行之间采用镜面效果
Nine-Patch
九英寸图,一种可以指定拉伸缩小指定区域的图片,需要使用android提供的工具处理。
文件位置:
res/drawable/filename.9.png
对应资源类
资源引用
In Java: R.drawable.filename
In XML:
@[package:]drawable/filename
XML Nine-Patch
九英寸图的xml定义方式,其中可以指定是否支持抗锯齿
文件位置:
res/drawable/filename.xml
对应资源类:
资源引用:
In Java: R.drawable.filename
In XML: @[package:]drawable/filename
<?xml version="1.0" encoding="utf-8"?> <nine-patch xmlns:android="http://schemas.android.com/apk/res/android" android:src="@[package:]drawable/drawable_resource" android:dither=["true" | "false"] />
Layer List
将图像放置在一个有序的队列中中,队列中的每一个图像按照指定的顺序显示,最后一个图像显示在最上面。
文件位置:
res/drawable/filename.xml
对应资源类:
资源引用:
In Java: R.drawable.filename
In XML: @[package:]drawable/filename
语法:
<?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>