Android Studio中BitmapDrawable的使用2-2

(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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值