其他分享
首页 > 其他分享> > 用addView方法动态添加控件

用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