android动态生成控件
方法:调用布局容器的addview,addview需传入的参数就是你想放置的view
这里给出一个例子
final LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);//将layout作为布局容器
// 生成一个Button
final Button btn1 = new Button(this);
btn1.setText("1");
btn1.setText("Button1");
这只是最基础的生成控件,更多时候,我们都想设置布局的长宽,padding,Margin等属性,这时候该怎么办呢?这里引用了一部分代码。
// 创建“-”按钮
ImageButton btnDelete = new ImageButton(MainActivity.this);
btnDelete.setBackgroundResource(R.drawable.ic_delete);
RelativeLayout.LayoutParams btnDeleteAddParam = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
btnDeleteAddParam.setMargins(0, 0, (int) (fDimRatio * 5), 0);
// “-”按钮放在“+”按钮左侧
btnDeleteAddParam.addRule(RelativeLayout.LEFT_OF, btnIDIndex);
LinearLayout.LayoutParams layoutParams1 = (LinearLayout.LayoutParams) textView.getLayoutParams();
//设置权重比例
layoutParams1.weight=2;
//设置上部间距
layoutParams1.topMargin=10;
//设置右边间距
layoutParams1.setMarginEnd(30);
//设置四周间距
layoutParams1.setMargins(4,4,4,4);