一、前言:
Android 动态设置ImageView大小:
如下图:
图片.png
思路:
1、首先获取屏幕的宽度screenWidth;
2、计算整个宽度的空隙值(20x2(手机左右灰色)+4x15(空隙值)+29(最后一部分图片款对) = 129),记住129是dp;
3、计算每个item的宽度 itemWidth =(screenWidth-129.dp)/3;
4、UI图给的ImageView大小为:82x111(主要用它的宽高比例);
5、计算每个item的高度itemHeight =((itemWidth x 111) / 82)
注意:要想Item左右间距一样,参考这篇文章:https://www.jianshu.com/p/679c45a82f3f
二、实现:
1、首先获取屏幕的宽度screenWidth;
val dm = context.resources.displayMetrics
val screenWidth = dm.widthPixels
val screenHeight = dm.heightPixels
2、计算宽高,并设置IamgeView上
注意:129是UI算出来的dp值;
/**
* 动态设置Type3类型的图片大小
*/
fun setImageSizeType3(iconView: View){
//动态设置控件大小
val screenWidthDP = screenWidth
val itemWidth = (screenWidthDP - 129.dp) / 3
val itemHeight = (itemWidth * 111) / 82
val layoutParams = iconView.getLayoutParams();
layoutParams.width = itemWidth
layoutParams.height = itemHeight
iconView.setLayoutParams(layoutParams)
}
网友评论