Android资源知识(四)之XML Bitmap
XML Bitmap资源实际上就是定义在XML中指向bitmap文件的资源。其效果就是为drawable目录中原生的bitmap资源提供了一个别名(alias)。标签 <bitmap>通常会结合state list和layer list一起使用。例如,可以把<bitmap>作为<item>的子元素。
文件路径:res/drawable/filename.xml
文件名作为资源ID。
引用方式如下:
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"] />
属性说明:
src:图片的资源ID
antialias:是否开启抗锯齿效果,开启后图片将会变得更加平滑
dither:是否开启抖动效果,官方说明如下,
Enables or disables dithering of the bitmap if the bitmap does not have the same pixel configuration as the screen (for instance: a ARGB 8888 bitmap with an RGB 565 screen).
当图片的像素和屏幕的像素不一致时,开启该属性后能保持更好的显示效果。例如,图片的彩色模式为ARGB8888,而屏幕的彩色模式为RGB555,这样就能保证图片显示不失真。
filter:当图片被拉伸或压缩时能平滑过度,保证更好的显示效果。
tileMode:平铺效果,其值为disable、clamp、repeat、mirror,disable为默认值。repeat是在垂直和水平方向上平铺,clamp是把图片四周的像素扩展到周围区域,mirror是在图片的水平和垂直方向实现镜像效果。
gravity:当图片的尺寸小于容器的尺寸时,可以通过该属性设置图片的显示位置。当设置tileMode属性为enable状态时,gravity属性将被忽略。
示例代码如下:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/icon"
android:tileMode="repeat" />