安卓,固定大小的imageview显示bitmap的问题

通常加载bitmap都会把bitmap压缩后再显示,我看《Android开发艺术探索》一书中提到,用计算BitmapOptions.inSampleSize属性值的方法来压缩图片。举个例子


   options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

    public int calculateInSampleSize(BitmapFactory.Options options,int reqWidth,int reqHeight)
    {
            int inSampleSize = 1;
            int rawWidth = options.outWidth;
            int rawHeight = options.outHeight;
            while ((rawWidth / inSampleSize >= reqWidth) && (rawHeight / inSampleSize >= reqHeight))
            {
                inSampleSize = inSampleSize *2;
            }

            return inSampleSize;
    }


按照书上的方法大概就是这样的代码来计算inSampleSize的值,然后把bitmap的宽和高以inSampleSize的值等比例缩小。
然后现在有如下问题。

这里宽和高是等比例缩小的,对于imageview来说(如微信最近联系的人的头像,就是listview,recyclerview这些里面每项item中的imageview),imageview的大小应该是固定的,然而按上述这种方法缩小,宽和高,一个按inSampleSize的值缩小后仍大于图片宽或高,这自然这个方向上能填满imageview,但是另一个缩小后小于对应的imageview的宽或高,这样就会空出来一些空位。

但是我看微信这些,都是能填满的,这有什么方法呢?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值