设置视图的宽高
设置视图的宽高
方式一:在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);

浙公网安备 33010602011771号