Android你必懂的-xml中的bitmap篇

  • Post author:
  • Post category:其他


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



版权声明:本文为ddxxii原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。