2013-01-07 26 views
1

我想創建一個TableLayout並居中它的內容。 我寫這段代碼:使用Java代碼居中放置TableLayout行

TableLayout tl = new TableLayout(this); 
tl.setGravity(Gravity.CENTER); 

TableRow firstRow = new TableRow(this); 
TableRow secondRow = new TableRow(this); 

但它不起作用。行集中,但只有垂直...我該怎麼辦?

在此先感謝。

編輯:

TableLayout tl = new TableLayout(this); 
tl.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, Gravity.CENTER_HORIZONTAL)); 

TableRow firstRow = new TableRow(this); 
TableRow secondRow = new TableRow(this); 

firstRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.FILL_PARENT, Gravity.CENTER)); 
secondRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.FILL_PARENT, Gravity.CENTER)); 

回答

0

應設置爲TableLayout一個的LayoutParams,並在其上設置重力:

tl.setLayoutParams(new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL)); 
+0

你的代碼我的佈局,內容是展出的上角線,在左邊:) –

+0

請將LayoutParams.WRAP_CONTENT同時更改爲LayoutParams.FILL_PARENT –

+0

同樣的結果:(我無法理解.. –