Android你必懂的-xml中的bitmap篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ddxxii/article/details/79749841

曾经设置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中设置就这么多,我想比较有用的就是它的镜像和重复了,这效果在需要的时候,知道用它的话会省去了很多事啊

猜你喜欢

转载自blog.csdn.net/ddxxii/article/details/79749841