很多时候我们需要让我们的ImageView支持宽度固定,高度自适应的功能。下方代码则提供了一个解决方法。如果你有更好的方案,劳烦评论指正。
/**
* 根据宽度自动调整(参照图片本身尺寸)高度<br/>
* 需要开启 android:adjustViewBounds="true"
* @param context
* @param view
* @param imageViewWidth 指定的宽度,<1时则取屏幕宽度
*/
public static void autoSizeImageViewHeight(Context context, ImageView view,
int imageViewWidth) {
if (context == null || view == null) {
return;
}
if (imageViewWidth < 1) {
imageViewWidth = context.getResources().getDisplayMetrics().widthPixels;
}
ViewGroup.LayoutParams lp = view.getLayoutParams();
lp.width = imageViewWidth;
lp.height = LayoutParams.WRAP_CONTENT;
view.setLayoutParams(lp);
view.setMaxWidth(imageViewWidth);
view.setMaxHeight(imageViewWidth * 5);
}