Размер программно созданного вложенного TableLayout в TableLayout не соответствует родительскому

У меня есть ScrollView, в котором есть TableLayout, который я динамически заполняю TableRows и TableLayouts, который содержит TableRows.

Я хочу, чтобы TableRows вложенных TableLayouts отображались точно так же, как и другие TableRows.

В настоящее время я получаю этот результат: введите здесь описание изображения

Вложенный TableLayout находится в красном круге. Например, первый tableRow с флажком — это тот же самый объект, что и 3-й tableRow, но отображение отличается. Вероятно, основной Tablelayout по-разному обрабатывает другие макеты контейнеров внутри него. Я не использую дополнительный макет внутри TableRows.

Я включил layoutParameter, когда добавил дочерний элемент как в основной, так и во вложенный TableLayout, но ничего не изменилось.

table.addView(row,new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,1f));

Возможно, мне нужно добавить другой параметр, но до сих пор я не мог найти что-то, что работает. Есть идеи?

P.S. Если мой вопрос недостаточно ясен, дайте мне знать, какая дополнительная информация необходима.


person JahN EstaCado    schedule 19.04.2013    source источник


Ответы (1)


Мне удалось найти обходной путь. Установив вложенный tableLayout

table.setColumnStretchable(0, true);

вложенные таблицы растягиваются и заполняют экран.

Но очевидно, что tableLayout не подходит для таких задач. Поэтому мне нужно больше узнать о динамическом раздувании представлений в ListView. Поставлю вопрос решенным (сейчас не могу, ждать 2 дня..)

person JahN EstaCado    schedule 19.04.2013