match_parent не заполняет родителя!

У меня есть LinearLayout внутри TableRow. LinearLayout инициируется в коде следующим образом:

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). Прикрепленные изображения иллюстрируют проблему, как показано в hiarchyViewer Android (зеленые прямоугольники - мои отметки).

"Изображение LinearLayout"

Спасибо.


person ofirbt    schedule 05.01.2011    source источник


Ответы (1)


При программном создании макетов вам необходимо передать родительскому контейнеру инструкции по макету для дочернего элемента.

// 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);

Попробуй :]

person ataulm    schedule 07.03.2011