在TableLayout中排序行

时间:2011-03-11 13:43:18

标签: android rows tablelayout

我的xml中有TableLayout。

<TableLayout android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:id="@+id/jobs_table"
             android:gravity="top"
             android:stretchColumns="*"
             android:shrinkColumns="*"/>
    <TableRow android:layout_width="fill_parent"
              android:layout_height="wrap_content">
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/monday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/tuesday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/wednesday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/thursday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/friday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/saturday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/sunday"/>
    </TableRow>

然后,我在Activity中添加带按钮的行。

   @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.jobs);
        tableLayout = (TableLayout) findViewById(R.id.jobs_table);
        // Make some buttons here.
        TableRow row = new TableRow(this);
        tableLayout.addView(row, new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));

当我运行应用程序时,来自XML的带有TextViews的行位于底部,而来自Java代码的按钮位于顶部。如何反转它们(按钮位于按钮上,而TextViews的行位于顶部)?

2 个答案:

答案 0 :(得分:1)

我认为this version of addView可以满足您的需求(索引= 0)

  

public void addView(查看子项, int   索引

     

添加子视图。   如果没有布局参数   设置在孩子上,默认   设置此ViewGroup的参数   对孩子。参数

     

子视图添加子视图

     

索引   添加孩子的位置

答案 1 :(得分:0)

所以,我这样做了:

TextView[] days = new TextView[7];
for(int i = 0; i < 7; i++) {
    days[i] = new TextView(context);
    days[i].setGravity(Gravity.CENTER);
    row.addView(days[i]);
}
days[0].setText(R.string.monday);
days[1].setText(R.string.tuesday);
days[2].setText(R.string.wednesday);
days[3].setText(R.string.thursday);
days[4].setText(R.string.friday);
days[5].setText(R.string.saturday);
days[6].setText(R.string.sunday);
rowsWithButtons.add(row);