格式化动态Edittext Android

时间:2012-11-06 11:38:43

标签: android android-layout android-intent

机器人 我有一个在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"

我动态添加textviewedittextcheckbox。我需要新添加的视觉显示与布局中已存在的视觉显示(静态)相同!有人可以指导或指出我如何去做吗?

3 个答案:

答案 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的父级。

我希望这能以某种方式帮助你。

感谢。