如何设置以编程方式添加的项目的表格宽度?

时间:2018-09-29 08:00:24

标签: java android

我有一个表,该表的行数未知。我在XML中设置的第一行显示了下一行中每个项目的标题。

<TableLayout
        android:id="@+id/table"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dip">
        <TableRow
            android:id="@+id/tbheader"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/standard"
                android:layout_weight="2.5"
                android:layout_width="0dp"
                android:text="STANDARD"
                android:textColor="?attr/textcolor" />

            <TextView
                android:id="@+id/goal_grade"
                android:layout_weight="1"
                android:layout_width="0dp"
                android:text="GOAL"
                android:textColor="?attr/textcolor" />
            <TextView
                android:id="@+id/mock_grade"
                android:layout_weight="1"
                android:layout_width="0dp"
                android:text="MOCK"
                android:textColor="?attr/textcolor" />
            <TextView
                android:id="@+id/final_grade"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:text="FINAL"
                android:textColor="?attr/textcolor" />
        </TableRow>
    </TableLayout>

然后我从Java填充其余的每一行,如下所示:

TableRow row=new TableRow(this);

        TextView tvName=new TextView(this);
        tvName.setText(""+name);

        TextView tvGoal=new TextView(this);
        tvGoal.setText(""+goal);

        TextView tvMock=new TextView(this);
        tvMock.setText(""+mock);

        TextView tvFinal=new TextView(this);
        tvFinal.setText(""+finalstr);

        row.addView(tvName);
        row.addView(tvGoal);
        row.addView(tvMock);
        row.addView(tvFinal);
        table.addView(row);

我想要的是让这些新项目中的每一个在其行中的权重与第一行相同,但是我找不到任何如何以编程方式执行此操作的功能。我只想将第一个项目的layout_weight设置为2.5,将其他项目的权重设置为1,以便所有内容都与我在XML中定义的项目一致。我一直在努力使它工作数小时,这正在使我丧命,难道不是那么复杂吗?

如果有人可以帮助我,我会永远爱他们。

0 个答案:

没有答案