用addView方法动态添加控件
作者:互联网
addView能够通过按钮的监听事件在Layout中生成新的控件
一、通过按钮的监听事件生成layout布局
代码为:
final RelativeLayout /*布局名称*/ = new RelativeLayout(MainActivity.this); //RelativeLayout可更改为LinearLayout
通过LayoutParams设置布局参数
RelativeLayout.LayoutParams /*参数名称*/ = new RelativeLayout.LayoutParams(/*宽度*/,/*高度*/) //除了定义像素大小,还可以工具父控件调整 //首先需要声明 import android.view.ViewGroup; //在宽度或高度中,设置为 ViewGroup.LayoutParams.WRAP_CONTENT//自适应 ViewGroup.LayoutParams.MATCH_PARENT//全占满
把布局和布局参数关联
/*布局名称*/.setLayoutParams(/*布局参数*/);
把Java生存的布局和XML生成的布局进行关联
/*父布局*/.addView(/*子布局*/); //子控件同理
总结
final RelativeLayout /*布局名称*/ = new RelativeLayout(MainActivity.this); RelativeLayout.LayoutParams /*布局参数*/ = new RelativeLayout.LayoutParams(/*宽度*/,/*高度*/); /*布局名称*/.setLayoutParams(/*布局参数*/); /*父布局*/.addView(/*子布局*/);
二、生成控件
控件与布局代码相似,以ImagenButton为例
ImageButton /*控件名称*/ = new ImageButton(MainActivity.this);
控件参数设置同布局一致
关联也同上
例子:
ImageButton /*控件名称*/ = new ImageButton(MainActivity.this); RelativeLayout.LayoutParams /*布局参数*/ = new RelativeLayout.LayoutParams(/*宽度*/,/*高度*/); /*控件名称*/.setLayoutParams(/*布局参数*/); /*父布局*/.addView(/*控件名称*/);
标签:控件,RelativeLayout,LayoutParams,布局,添加,addView,new 来源: https://www.cnblogs.com/harl02/p/16375159.html