2011-01-05 179 views
6

我在TableRow中有LinearLayout。 的LinearLayout中得到的代碼發起的,是這樣的:match_parent不填充父項!

LinearLayout mainRowLayout = new LinearLayout(this); 
mainRowLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); 
TableRow tr = new TableRow(this); 
tr.addView(mainRowLayout); 

的問題是LinearLayout中不填充父(這是的TableRow)。 附加的圖像說明了問題,如Android的hirarchyViewer所示(綠色矩形是我的標記)。

"LinearLayout image"

謝謝。

回答

13

以編程方式創建佈局時,您需要爲父容器提供該子項的佈局說明。

// child element 
LinearLayout mainRowLayout = new LinearLayout(this); 

// parent element 
TableRow tr = new TableRow(this); 

// parent element's instructions (layout params for main row) 
TableRow.LayoutParams lopForMainRow = new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 

tr.addView(mainRowLayout, lopForMainRow); 

搏一搏:]