往一个View里面添加子View的方法:
void addView(View child, int index, ViewGroup.LayoutParams params)
Adds a child view with the specified layout parameters.
void addView(View child, ViewGroup.LayoutParams params)
Adds a child view with the specified layout parameters.
void addView(View child, int index)
Adds a child view.
void addView(View child)
Adds a child view.
void addView(View child, int width, int height)
Adds a child view with this ViewGroup's default layout parameters and the specified width and height.
动态创建一个LinearLayout并添加几个TextView在里面:动态创建一个LinearLayout并添加几个TextView在里面:
代码如下:
// 定义LinearLayout的布局管理器的参数,LinearLayout.LayoutParams(int width, int height)
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
//定义TextView的布局管理参数
LinearLayout.LayoutParams textParam = new LinearLayout.LayoutParams(
100, 30);
//创建一个LinearLayout
final LinearLayout layout = new LinearLayout(this);
//垂直布局
layout.setOrientation(LinearLayout.VERTICAL);
//背景
layout.setBackgroundResource(R.drawable.hasprepared_linearlayout_bg);
//子LinearLayout
LinearLayout layout2 = new LinearLayout(this);
layout2.setOrientation(LinearLayout.HORIZONTAL);
layout2.setPadding(60, 20, 60, 10);
// 客户性质
TextView customPropertyTV = new TextView(HasPreparedActivity.this);
customPropertyTV.setLayoutParams(textParam);
customPropertyTV.setTextSize(18);
customPropertyTV.setText(getResources().getString(R.string.hasprepared_addotherincome_kehuxingzhi));
layout2.addView(customPropertyTV);
TextView customPropertyTV2 = new TextView(HasPreparedActivity.this);
customPropertyTV2.setLayoutParams(textParam);
customPropertyTV2.setText(model.getCustomProperty());
customPropertyTV2.setTextSize(18);
layout2.addView(customPropertyTV2);
// 项目
.......
// 每月收入金额
......
// 起始年龄
.....
// 结束年龄
.....
layout.addView(layout2, param);