设置TableRow问题的边距



我有下面的代码,它试图设置边距:

TableRow tr = new TableRow(this);
                    TableLayout.LayoutParams tableRowParams=
                          new TableLayout.LayoutParams
                          (TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);
                          int leftMargin=20;
                          int topMargin=50;
                          int rightMargin=0;
                          int bottomMargin=50;
                         tableRowParams.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);
                         tr.setLayoutParams(tableRowParams);
 TextView name = new TextView(this);
                          name.setText(Html.fromHtml(venues.get(j).name + "<br><br>" + venues.get(j).getFullAddress()));

但是这不会设置页边距。我哪里做错了?

编辑。哎呀,我的错,是TableLayout。LayoutParams很好。使用TableRow。

我刚刚运行了这段代码(大部分是你的代码),并且空白设置正确

TableRow tr = new TableRow(this);
TableLayout.LayoutParams tableRowParams=
    new TableLayout.LayoutParams
    (TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);
    int leftMargin=100;
    int topMargin=50;
    int rightMargin=0;
    int bottomMargin=50;
    tableRowParams.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);
      tr.setLayoutParams(tableRowParams);
    TextView tv = new TextView(this);
    tv.setText("EXAMPLE ROW");
    TableRow.LayoutParams textParams = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,
            TableRow.LayoutParams.WRAP_CONTENT);
    tv.setLayoutParams(textParams);
    tr.addView(tv);
    tlayout.addView(tr);

不是这样吗?

   TableRow tr = new TableRow(Activity.this)

我想你也需要一个表来放那一行。

为什么不选择XML呢?

<TableRow
 android:id="@+id/tr1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content">
</TableRow>

最新更新