2013-04-27 63 views
1

我得到了一張拉伸的桌子,我希望我的複選框也顯示在表格中的中心位置。在TextView的,我叫:計劃中心複選框?

  myTextView.setGravity(Gravity.CENTER); 

而且我還試圖將其設置爲表參數:

這是我的XML設置表:

<TableLayout 
    android:id="@+id/info" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/linearLayout1" 
    android:layout_margin="6dp" 
    android:stretchColumns="0,1,2,3,4" > 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:background="@drawable/roundedheader" > 

而且這是我打電話時的代碼,因爲我創建了每一行:

  //set table margin 
      TableLayout.LayoutParams tableRowParams= new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 

      int leftMargin=0,rightMargin=0,bottomMargin=0; 
      int topMargin=5; 

      tableRowParams.setMargins(leftMargin, topMargin, rightMargin, bottomMargin); 
      tableRowParams.gravity = Gravity.CENTER; 
      row.setLayoutParams(tableRowParams); 

      // add the TableRow to the TableLayout 
      table.addView(row); 

但是,相同的命令沒有對t他複選框。有沒有人知道有什麼區別,以及我需要做什麼。該複選框不在表格行中的任何其他佈局中。

TIA

+0

你的xml是怎樣的? – 2013-04-27 05:44:25

+0

你可以看到這個(可能) http://stackoverflow.com/questions/5515174/android-how-to-center-view-within-column-of-tablelayout?rq=1 – ashishdhiman2007 2013-04-27 05:59:44

+0

我已經在那個主題中嘗試瞭解決方案 - 沒有快樂!普拉卡什我已經更新了這個問題。 – 2013-04-27 06:28:40

回答

1

我建議你之前開始使用TableLayout工作,以檢查這些鏈接:

http://developer.android.com/reference/android/widget/TableLayout.html

http://developer.android.com/reference/android/widget/TableRow.html

http://developer.android.com/reference/android/widget/TableRow.LayoutParams.html

也有一堆例子來說明如何工作的TableLayout來自Andro的API演示ID SDK。

假設你的佈局android:stretchColumns="0,1,2,3,4"你至少有5列,但從代碼片段我不能假設有多少視圖被添加到row。如果視圖元素較少,那麼您需要指定TableRow.LayoutParamsandroid:layout_span,然後使用該空閒空間。所以,假設你只有一個CheckBox一排只有5列,你需要下一步:

TableRow.LayoutParams rowParams = new TableRow.LayoutParams(); 
rowParams.gravity = Gravity.CENTER; 
rowParams.span = 5; 
checkBox.setLayoutParams(rowParams); 

此外,我建議你使用,而不是從代碼中創建XML他們的佈局。如果你不能堅持使用xml佈局,那麼至少應該使用xml編輯器來創建它們,所以你可以從代碼中創建它們。