2011-01-05 11 views
6

私はLinearLayoutをTableRowの中に持っています。 の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); 

それをやってみる:]

関連する問題