这几乎是最简单的Drawable了,它表示的就是一张图片。在实际开发中,我吗可以直接引用原始图片即可,但是也可以通过XML的方式来描述它,通过XML来描述的BitmapDrawable可以设置更多的效果,如下所示:
下面是它的各个属性的含义。
android:src
这个很简单,就是图片的资源id。
android:antialias
是否开启图片抗锯齿功能。开启会让图片变得平滑,同时也会在一定程度上降低图片的清晰度,但是这个降低的幅度较低以至于可以忽略,因此抗锯齿选项应该开启。
android:dither
是否开启抖动效果。当图片的像素配置和手机屏幕的像素配置不一样时,开启这个选项可以让高质量的图片在低质量的屏幕上还能保持较好的显示效果,比如图片的色彩模式为ARGB8888,但是设备屏幕所支持的色彩模式为RGB555,这个时候开启抖动选项可以让图片不会过于失真,根据分析,抖动效果也应该开启。
android:filter
是否开启过滤效果。当图片尺寸被拉伸或者压缩时,开启过滤效果可以保持较好的显示效果,因此次选项也该开启。
andriod:gravity
当图片小于容器的尺寸时,设置此选项可以对图片进行定位,不同的选项可以通过“|”来组合使用。
android:mipMap
这是一种图像相关的处理技术,也叫纹理映射,比较抽象,默认值为false,在日常开发中此选项不常用。
android:tileMode
平铺模式。这个选项有如下几个值:【"disabled"|''clamp"|"repeat"|"mirror"|,其中disabled表示关闭平铺模式,这也是默认值,当开启平铺模式后,gravity属性会被忽略。这里主要说一下repeat,mirrorclamp,mirror的区别,这三个都表示平铺模式,但是它们表现却有很大不同。repeat表示的是简单的水平和竖直方向上的平铺;mirror表示一种在水平和竖直方向上的镜面投影效果;而clamp表示的效果就更加奇特,图片四周的像素会扩展到周围区域。下面是效果图:
1.repeat
2.mirror
3.clamp