【问题标题】:How to set a EditText in a certain column of a TableLayout?如何在 TableLayout 的某一列中设置 EditText?
【发布时间】:2011-02-16 04:15:34
【问题描述】:

我在一个 Android Activity UI 上有一个TableLayout。它有两列。 现在我需要添加一个新行,并在该新行的第二列中放置一个EditText 框。而且,我希望EditText 填满整个单元格。我有一些这样的代码:

TableRow tr = new TableRow(context);
EditText et = new EditText(context);
et.SetMaxLines(4);
etText.setLayoutParams(new TableRow.LayoutParams(1));  //set it to the second coloumn

tr.addView(et);

tl.addView(tr);   //tl is the tableLayout

它将EditText 放在第二列很好,但EditText 太小了。我尝试使用

etText.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));  

但这似乎禁用了TableRow.LayoutParams 设置。我猜每个控件只能有一个LayoutParams 设置。

那么,如何将 EditText 设为 4 行文本编辑器并确保它位于该行的第二列?

谢谢。

【问题讨论】:

    标签: android tablelayout editbox


    【解决方案1】:

    可能是这样的:

    TableRow.LayoutParams 参数 = TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

    params.column = 1;

    etText.setLayoutParams(params);

    【讨论】:

      【解决方案2】:

      这适用于 monodroid,但你应该能够转换为 java

      EditText et = new EditText(this);
      var param = new TableRow.LayoutParams(1);
      et.LayoutParameters = param;
      

      只需将 1 更改为您希望编辑文本显示在表中的任何列。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-06
        • 2012-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多