ImageView 固定高度 动态宽度


imageView scaleType 为 fitCenter 时,图片的宽或高达到View的宽或高时,会停止缩放。所以有的时候就会产生给 View 设置了固定高度,但是图片显示出来后,宽度相等,高度没填充满。
解决这个问题用 adjustViewBounds 属性就行。


属性设置后,图片会保持宽高比并填充满View.

搜索资料时发现有人对 adjustViewBounds 配合 View 宽高的设置做了简单介绍,我还未验证其是否正确,只是摘录上来:
原文链接

  1. 当 ImageView 的宽高都是固定值时,adjustViewBounds="ture" 是没有效果的,因为图片会按照 ImageView 的比例被直接填充到 ImageView 中。

  2. 当 ImageView 的宽高其中有一个为固定值时,图片的宽 / 高将会与ImageView 的宽 / 高的固定值进行比较。如果图片宽 / 高小,图片将会以其高 / 宽来填充 ImageView,此时 ImageView 的高 / 宽将与图片的高 / 宽相同。如果图片宽 / 高大于或者等于,ImageView 将与图片拥有相同的宽高比,也就是说图片将会以自身的宽高比填充到ImageView。

  3. 当 ImageView 的宽高都是 wrap_content 时,adjustViewBounds 是没有意义的,因为 ImageView 将始终与图片拥有相同的宽高比(但是并不是相同的宽高值,通常都会放大一些)。

你可能感兴趣的:(ImageView 固定高度 动态宽度)