我希望按用户特定值动态生成控件。 就像我有ControlTed的EditText,控制宽度,控制高度等。 基于该值我想生成控件
LinearLayout L1 = new LinearLayout(this);
L1.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams L1paeam = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
L1.setLayoutParams(L1paeam);
TextView T1 = new TextView(this);
T1.setText(R.string.Dynamic_text);
L1.addView(T1);
Button B1=new Button(this);
B1.setText("Dynamic Button");
L1.addView(B1);
setContentView(L1);
在此代码中指定了control-id Layout_height和Layout_width,但我希望它们是用户指定的
答案 0 :(得分:0)
您可以在视图容器(LinearLayout,RelativeLayout等)中添加任何视图,并在运行时删除这些视图。创建视图并为该视图指定布局参数。
答案 1 :(得分:0)
这是我找到的解决方案。
public void generateButton(String Id,int Width,int Height,String text){
@IdRes
int id = Integer.parseInt(Id);
LinearLayout.LayoutParams L1param = new LinearLayout.LayoutParams(Width, Height);
final Button B1=new Button(this);
B1.setId(id);
B1.setText(text);
B1.setLayoutParams(L1param);
B1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Button click operation goes here
}
});
layout_main.addView(B1);
}