美文网首页
Android 动态设置ImageView大小

Android 动态设置ImageView大小

作者: 因为我的心 | 来源:发表于2023-02-09 14:44 被阅读0次

一、前言:

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)
    }

相关文章

网友评论

      本文标题:Android 动态设置ImageView大小

      本文链接:https://www.haomeiwen.com/subject/ghxhkdtx.html