Android代码中设置控件属性
在项目的开发过程中时常会需要在java代码中设置控件的宽高,位置,显示与隐藏等属性。我们可以理解为在布局文件中可以设置的属性,都可以在java代码中来完成,甚至我们可以不需要布局文件而完成所有页面及功能的编写。
而在java代码中创建控件有以下优点:
1、页面渲染速度比在布局文件中控件加载速度快
2、可动态修改控件的属性,这点在布局文件中无法做到
3、可根据设备分辨率和屏幕大小进行适配
//1、创建属性参数,传入宽和高
LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
//2、设置左上右下的间距
params.setMargins(0, 30, 0, 0);
//3、为控件填入属性参数
view.setLayoutParams(params);
params还可以添加一些其他类似gravity的属性
注意:
这里的LayoutParams一定要区分是RelativeLayout还是LinearLayout类型的LayoutParams。所谓的要区分RelativeLayout还是LinearLayout类型的LayoutParams是指当前被设置属性的控件所在父容器类型是相对布局还是线性布局。如果当前被设置属性的控件所在父容器类型是相对布局而创建的params类型是LinearLayout类型的LayoutParams时,会报类型转换错误。
下一篇博客中,我会总结动态布局的内容,这里为动态布局先铺垫一下。