设置视图的宽高

设置视图的宽高

方式一:在xml文件中通过属性设置

              宽:android:width

              高:android:height

属性取值有下面三种:

1.match_parent:与上级视图保持一致

2.wrap_content:与内容自适应,以文本视图为例,如果超过上级视图宽度就会换行,超过上级视图高度就会隐藏

3.以dp为单位的具体尺寸

方式二:在代码中设置视图的宽高

通过代码设置视图宽高的步骤:

首先确保xml文件中的宽高属性值为wrap_content,然后在java代码中依次执行以下三步

第一步:调用控件对象的getLayoutParams方法,获取该控件的布局参数。

第二步:布局参数的width属性表示宽度,height属性表示高度,修改这两个属性值。

              通过布局参数的width和height属性设置宽高时,单位默认为px,我们需要将dp转换为px再设置

              转换方法:              

     public static int dip2px(Context context, float dpValue) {
        float density = context.getResources().getDisplayMetrics().density;//获取当前设备1dp对应几个px
        return (int) (dpValue * density + 0.5f);
     }

 

第三步:调用控件对象的setLayoutParams方法,填入修改后的布局参数使之生效

整体代码如下:

     TextView tv_hello = findViewById(R.id.tv_hello);
     ViewGroup.LayoutParams layoutParams = tv_hello.getLayoutParams();
     //修改布局参数的宽度数值,默认单位是px,设置前需把dp转换为px
     layoutParams.width = Utils.dp2px(this, 300f);
     tv_hello.setLayoutParams(layoutParams);

 



posted @ 2022-08-24 14:36  六味地黄丸  阅读(160)  评论(0)    收藏  举报