机器人 我有一个在xml中定义的布局,并有一个静态textview,edittext和复选框,其格式如下:
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="2"
android:singleLine="true"
android:textSize="14dp"
android:width="180dp"
我动态添加textview
,edittext
和checkbox
。我需要新添加的视觉显示与布局中已存在的视觉显示(静态)相同!有人可以指导或指出我如何去做吗?
答案 0 :(得分:0)
您可以以这种方式创建任何控件动态。
在这里,我为编辑文本显示的方式与其他人一样。
EditText et = new EditText(this);
et.setText("");
et.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
答案 1 :(得分:0)
每次需要textview,edittext和chekbox时,你可以通过膨胀来添加布局。这样你的布局就会有相同的外观。因为你在xml中重复使用静态布局。
有关详细信息,请参阅Layout Inflating
你有一个带有textview,edittext和checkbox的布局。现在你将把布局用作一个视图。就像你说的每一行你必须给布局充气并将它添加到行中。所以对于每一行你都会有布局的副本。
TableLayout layout=(TableLayout)findViewById(R.id.tblLayout);
现在您可以在扩充布局后添加视图
View rowView = inflater.inflate(R.layout.row_layout, null, true);
TableRow tblrow=new TableRow(this);
tblRow.add(rowView);
layout.add(tblRow);
答案 2 :(得分:0)
使用以下代码进行有关EditText的动态配置。
EditText my_edit = (EditText) findViewById(R.id.my_edit);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.weight = 2.0f;
my_edit.setLayoutParams(params);
my_edit.setTextSize(20);
my_edit.setWidth(180);
my_edit.setSingleLine(true);
为此,您必须将LinearLayout作为EditText的父级。
我希望这能以某种方式帮助你。
感谢。