Android图片保持宽高比技巧

来源:互联网 发布:openbugs软件 编辑:程序博客网 时间:2024/04/28 11:07

问题
加载服务器图片,图片变形。图片未给出尺寸,如何保证客户端不变形?
背景
UX提出客户端需要保持后台配置的图片比例,且未给出图片明确宽高比,这样一来客户端不能将ImageView在代码中设置成固定值。
原有代码:

//<ImageView        android:layout_width="match_parent"        android:layout_height="wrap_content" />

图片加载用的是picasso,在设置中scaleType为fitXY。
效果:
这里写图片描述
解决办法
设置ImageView属性adjustViewBounds为true。
代码:

    <ImageView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:adjustViewBounds="true" />

效果:
这里写图片描述

分析
adjustViewBounds:属性 是否去调整这个视图的界限去保存绘制的初始范围比例;
但是使用必须与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
而本例中没有使用,我的理解是因为设置了match_parent属性,相当于起到了maxWidth的作用。
问题解决了,至于原理是否如此,还请有了解的coder告知。

原创粉丝点击