ImageView所遇到的坑

本文记录使用ImageView所遇到的坑,不断更新。

记录以下问题:

  • ImageView如何才能横向沾满屏幕
  • 关于adjustViewBounds

ImageView如何才能横向沾满屏幕

StackOverflow上有个Solution是这样的
这里写图片描述

试了试确实可以。那这个adjustViewBounds属性到底是啥东西?

关于adjustViewBounds

原文出处在这篇博客,但只有文字,我引用一下大神的博客。

取值为true时:
Adjust the ImageView’s bounds to preserve the aspect ration of its drawable.
调整ImageView的界限来保持图像纵横比不变。
这并不意味着ImageView的纵横比就一定和图像的纵横比相同

如果是定义了adjustViewBounds = “true”
这里写图片描述

如果按照问题一的需求,这个问题被adjustViewBounds很好的解决了, 因为ImageView的layout_height属性为wrap_content,所以图片能按照自己原来的宽高比进行显示。相当于解释了第一句话: 调整ImageView的界限来保持图像纵横比不变。。

但是如果我又定义了宽度或是高度呢?
这里写图片描述
我们看到,一旦给出了确定的值,ImageView的尺寸大小就被限制了,但是图片的宽高比还是保持不变,这就解释了第二句话:这并不意味着ImageView的纵横比就一定和图像的纵横比相同。

如果设置的layout_width与layout_height都是定值,那么设置adjustViewBounds是没有效果的,ImageView将始终是设定的定值的宽高。
这里写图片描述

如果设置的layout_width与layout_height都是wrap_content,那么设置adjustViewBounds是没有意义的,因为ImageView将始终与图片拥有相同的宽高比(但是并不是相同的宽高值,通常都会放大一些)。
这里写图片描述

总之,adjustViewBounds是用来保持图片宽高比例的前提下,去弹性填充ImageView

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值