Bitmap
android 支持3中格式的图片.png(推荐使用) .jpg(可接受) .gif(推荐不使用)
文件位置:
res/drawable/filename.png
?(.png
,?.jpg
, or?.gif
)
对应资源类:
?BitmapDrawable
资源引用:
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
对应资源类:
?BitmapDrawable
资源引用:
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
? ? ? ??对应资源类
?NinePatchDrawable
.
资源引用
In Java:?R.drawable.filename
In XML:?
@[package:]drawable/filename