曾经设置windows桌面,可在背景中用到平铺、重复、镜像。Android里,咱们也有的,那就是bitmap说起bitmap可能我们直接在像写shape一样在xml中写用的还是非常少的,一般都是直接使用了。
与shape一样,在drawable目录下写入,格式如下:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:antialias="false"
android:dither="false"
android:filter="true"
android:gravity="top"
android:mipMap="true"
android:src="@drawable/ic_launcher"
android:tileMode="repeat"/>
antialias :
自定义View的时候一般会用到的,抗锯齿,一般设置为true
dither :
布尔值。当位图的像素配置与屏幕不同时(例如:ARGB 8888 位图和 RGB 565 屏幕),启用或停用位图抖动。(现在大部分手机都用不到了,设置为false吧)
* RGB565最多只能表示2
16=65536种图像,这对于RGB888所能表示的2
24=16777216种颜色来说显然在表现力上要略逊一筹。这集中表现在显示某些带有渐变效果的图片时,出现了一条条的颜色带,而不是原始的平滑的渐变效果。后来得知android使用了Dither(抖动)这种技术,以欺骗人类眼球的方式加以补偿。
filter :
布尔值。启用或停用位图过滤。当位图收缩或拉伸以使其外观平滑时使用过滤。(设置后,没感受出来个什么鬼0.0)
mipMap :
布尔值。启用或停用 mipmap 提示,如果改为mipmap会提升性能。如需了解详细信息,请参阅
setHasMipMap()
。默认值为 false。
tileMode :
关键字。定义平铺模式。当平铺模式启用时,位图会重复。重力在平铺模式启用时将被忽略。
必须是以下常量值之一:
选值 | 说明 |
---|---|
disabled | 不平铺位图。这是默认值。 |
clamp | 当着色器绘制范围超出其原边界时复制边缘颜色 |
repeat | 水平和垂直重复着色器的图像。 |
mirror | 水平和垂直重复着色器的图像,交替镜像图像以使相邻图像始终相接。 |
咱们可以对pic进行封装一下,在xml中再拿去引用。
- clamp
这个值我使用起来和默认没看出区别,或许是我用得不对,如果有知道的,帮忙给我科普一下
- repeat
- mirror
bitmap在xml中设置就这么多,我想比较有用的就是它的镜像和重复了,这效果在需要的时候,知道用它的话会省去了很多事啊