原理
我在实践中,是调整一个ListView中的Item里的ImageView元素的宽高比,类似微信公众号的消息内容,item有固定padding,然后ImageView宽度撑满屏幕,高度由一定比例决定。
- 在写好布局文件后,首先拿到整个屏幕的宽度,然后减去左右两侧的padding所占的宽度,得到的结果就是ImageView应该设置的宽度
- 再由一定比例计算出高度
- 最后以ImageView.setLayoutParams()完成宽高的设定
布局文件
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">