解决让图片宽度全屏高度按比例自适应填充

在项目中要根据在服务端生成的一张海报填充在imagview中。返回图片宽高为750*2500。但是在手机上发现宽度不能充满全屏。设置scaleType后图片长度会被截取或者长度被压缩。然后就自定义一个imagview来显示,完美解决。重写onMeasure,onMeasure中代码如下:

 Drawable drawable = getDrawable();
        if(drawable!=null){
            int width = MeasureSpec.getSize(widthMeasureSpec);
            //高度根据使得图片的宽度充满屏幕计算而得
            int height = (int) Math.ceil((float) width * (float) drawable.getIntrinsicHeight() / (float) drawable.getIntrinsicWidth());
            setMeasuredDimension(width, height);
        }else{
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值