美文网首页
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