0

下面的这个 xml 代码为我的表格单元格提供了适当的边框

<TableRow android:background="#cdcdcd" > 
   <TextView android:text="1st Column" android:background="#ffffff" android:layout_margin="2dip"/>
   <TextView android:text="2nd Column" android:background="#ffffff" android:layout_margin="2dip"/>
   <TextView android:id="@+id/amount"  android:background="#ffffff"  android:layout_margin="2dip" android:text="3rd col"/>
</TableRow>

但是,当我尝试以编程方式执行此操作时,这是行不通的,这是我的代码:

    dataTable = (TableLayout)findViewById(R.id.data_table);             
    TableRow tr=new TableRow(this); 
    counter++;
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    lp.setMargins(2,2, 2, 2);

    TextView tv= new TextView(this);
    tv.setLayoutParams(lp);
    tv.setText("text"+counter);
    tv.setBackgroundColor(Color.parseColor("#ffffff"));             
    counter++;

    TextView cb= new TextView(this);
    cb.setLayoutParams(lp);
    cb.setText("text"+counter);
    counter++;

    TextView ib= new TextView(this);
    ib.setText("text"+counter);
    ib.setLayoutParams(lp);     

    tr.setBackgroundColor(Color.parseColor("#cdcdcd"));
    tr.setPadding(2, 2, 2, 2);
    tr.addView(tv);
    tr.addView(cb);
    tr.addView(ib);
    dataTable.addView(tr,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 

除了边界和当我设置“tv.setLayoutParams(lp);”之外,一切都有效 参数列消失。

4

1 回答 1

1

尝试通过调用 addView(View child, int index, ViewGroup.LayoutParams params) 添加视图

另外,尝试为每个视图创建一个新的 LayoutParams 实例

于 2013-05-14T12:21:38.923 回答