(2)android:gravity属性
该属性指定了位图的重心,即当位图的大小小于位图容器(例如ImageView等)时,位图在位图容器中的位置。在布局文件中定义一个ImageView作为位图容器,代码如图7所示。
图7 ImageView代码
其中,ImageView的宽度和高度都设置为“match_parent”,其“android:background”的属性是在“2.2.1 创建xml文件”中定义的BitmapDrawable,而与该BitmapDrawable关联的位图biaozhi的大小小于ImageView,此时可以通过设置BitmapDrawable的android:gravity属性的值来设置位图显示的位置,如图8所示。
图8 android:gravity不同取值的效果
其中,当android:gravity的值是“bottom”时,其效果如图8①所示;当android:gravity的值是“center”时,其效果如图8②所示;当android:gravity的值是“right”时,其效果如图8③所示。
(3)android:antialias属性
该属性的作用是打开或者关闭抗锯齿功能。
相关链接1 抗锯齿功能,图片锯齿指的是图片的画面轮廓边缘出现不平滑的棱角。出现锯齿的原因是分辨率较小的图片被拉伸。抗锯齿功能则是对图片边缘进行柔化处理,使图片边缘看起来更平滑真实。
在“(2)android:gravity属性”中提到的android:gravity属性,当该属性的值是“fill”时,会将图片在横轴和纵轴两个方向上拉伸,使其充满位图容器,效果如图9所示,此时可以看出,该位图的轮廓边缘出现了锯齿。
图9 位图锯齿
此时,可以为BitmapDrawable添加android:antialias属性来抗锯齿,代码如图10①所示。
图10 打开抗锯齿功能
其中,android:antialias属性的值是“true”时表示打开抗锯齿功能,该属性的值是“false”时,表示关闭抗锯齿功能。
(4)android:filter属性
android:filter属性的作用是启用或停用位图过滤。
相关链接2 位图过滤,是把位图中不重要的像素都染成背景色,使得重要部分被凸显出来。当位图缩小或拉伸以使其外观平滑时使用过滤功能。
添加该属性的代码如图10②所示,android:filter属性的值是“true”时表示打开位图过滤功能,该属性的值是“false”时,表示关闭位图过滤功能。
(5)android:dither属性
android:dither属性的作用的作用是启用或停用位图抖动。
相关链接3 位图抖动,用于改善位图的显示效果的一种图像处理方式,使用扩散点的方式模拟位图中缺失的部分。
添加该属性的代码如图10③所示,android:dither属性的值是“true”时表示打开位图抖动功能,该属性的值是“false”时,表示关闭位图抖动功能。在ImageView中使用图10所示的代码定义的BitmapDrawable的效果,如图11所示。
图11 打开了三个属性的BitmapDrawable