如何在TableLayout中的Tablerow里面设置textview Dyanamicaly的权重?

时间:2016-09-10 11:05:55

标签: android android-studio textview

我在表格行中有三个textview,但是textview的定位没有正确对齐,我在tablelayout中的tablerow里面添加了textview,如何设置textview的权重? Plzz帮帮我

 TableLayout table= (TableLayout) findViewById(R.id.table);
        TableRow tableRow=new TableRow(this);
        TextView txt1=new TextView(this);
        txt1.setTextSize(20);
        TextView txt2=new TextView(this);
        txt2.setTextSize(20);
        TextView txt3=new TextView(this);
        txt3.setTextSize(20);
        txt1.setText("Name");
        txt2.setText("Quantity");
        txt3.setText("Unit");
        tableRow.addView(txt1);
        tableRow.addView(txt2);
        tableRow.addView(txt3);
        table.addView(tableRow);

2 个答案:

答案 0 :(得分:0)

您可以在下面设置weightSum

    TableRow.LayoutParams tableRowparam = new TableRow.LayoutParams();  tableRowparam.weight=0.50f; 
txt1.setLayoutParams(tableRowparam); 

在上层代码中,我0.50f表示2中有TextView TableRow。你可以根据你的要求改变。

答案 1 :(得分:0)

如果你必须将重量设置到应该缩放的孩子身上。

1表示默认情况下100%缩放,如果您希望3个textvies均匀分布设置0.33作为每个的重量。

从下面的代码中了解您的所有textview:

使用TableLayout.LayoutParams

TableRow.LayoutParams trlp = new TableRow.LayoutParams(0, TableRow.LayoutParams.MATCH_PARENT, 0.33f);

tvFirst.setLayoutParams(trlp);  //tvFirst is first textview 

tr.add(tvFirst);

由于