一、重复图片的平铺利用 -- BitmapDrawable.java
使用XML方式平铺,简单、固定
android:antialias="true"
android:dither="true"
android:src="@drawable/ic_launcher"
android:tileMode="repeat" >
1.antialias
是否启用抗锯齿功能
2.dither
是否启用抖动效果
抖动:图像的抖动处理,当每个颜色值以低于8位表示时,对应图像做抖动处理可以实现在可显示颜色总数比较低(比如256色)时还保持较好的显示效果
3.filter
是否允许对位图进行滤波。对位图进行收缩或者延展使用滤波可以获得平滑的外观效果。
4.gravity[与tileMode同时使用失效]
top
将图像放置在容器的顶部,不改变图像大小
bottom
将图像放置在容器的底部,不改变图像大小
left
将图像放置在容器的左边,不改变图像大小
right
将图像放置在容器的右边,不改变图像大小
center_vertical
将图像放置在容器垂直方向中间,不改变图像的大小
fill_vertical
将图像垂直方向拉伸,填满容器
center_horizontal
将图像放置在容器水平方向中间,不改变图像大小
fill_horizontal
将图像水平方向拉伸,填满容器
center
将图像放置在容器的水平和垂直方向中间,不改变图像大小
fill(默认)
将图像水平方向和垂直方向拉伸,填满容器
clip_vertical
附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部,垂直方向裁剪.
clip_horizontal
附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.水平方向裁剪
5.mipMap
是否使用文理映射过滤提示
6.tileMode 图片的显示模式:
disabled
默认值,表示不使用平铺
clamp
复制边缘色彩
repeat
X、Y 轴进行重复图片显示,也就是我们说要说的平铺
mirror
在水平和垂直方向上使用交替镜像的方式重复图片的绘制
7.autoMirrored
当layout direction 改变是,是否自动镜像图
代码实现平铺,更为灵活,不太方便
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.bg_tile);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
drawable.setTileModeXY(TileMode.CLAMP, TileMode.REPEAT);
drawable.setDither(true);
getWindow().getDecorView().setBackgroundDrawable(drawable);
二、层叠图片的堆加 -- LayerDrawable.java
android:bottom="0dp"
android:drawable="@drawable/background"
android:left="0dp"
android:right="0dp"
android:top="0dp">
android:bottom="50dp"
android:drawable="@drawable/head"
android:left="50dp"
android:right="50dp"
android:top="50dp">
android:bottom="100dp"
android:drawable="@drawable/ic_launcher"
android:left="100dp"
android:right="100dp"
android:top="100dp">
三、嵌入性边距图片 -- InsetDrawable.java
android:drawable="@drawable/background"
android:insetBottom="200dp"
android:insetLeft="100dp"
android:insetRight="200dp"
android:insetTop="100dp"
android:visible="true" >
四、多级图片选择 -- LevelListDrawable.java
setLevel()来设定图片
android:drawable="@drawable/status_off"
android:maxLevel="0"/>
android:drawable="@drawable/status_on"
android:maxLevel="1"/>
等等