Столбцы таблицы в Android TableLayout - PullRequest
1 голос
/ 19 января 2012

Кто-нибудь знает, возможно ли добавить столбцы в TableLayout в Android?Мне нужно отобразить относительно большой объем данных в таблице.Очевидно, что это не должно отображаться все в одном столбце.

Вы можете добавить строки, создав TableRow () - Object.Кроме того, есть какой-то xml-параметр, но я не знаю, как получить к нему доступ через Java-код.

         TextView val = new TextView(this);
         val.setText(args.get(i));
         table.addView(val);
         table.addView(tr,new TableLayout.LayoutParams(
                    LayoutParams.FILL_PARENT,
                    LayoutParams.WRAP_CONTENT));

Мне не удалось найти подходящее значение в TableRow.LayoutParams, который работал для меня,Но, вероятно, я пытался использовать его неправильно.

         table.addView(val,new TableRow.LayoutParams(
                 LayoutParams. ?? ));

1 Ответ

1 голос
/ 19 января 2012

Когда вы добавляете новые представления в строку планшета, каждое представление становится новым «столбцом».

Итак, если вы сделаете что-то подобное (при условии, что ваши данные строки находятся в List rowData, а ваши данные столбца находятся вa List в rowData.

for (RowData rd : rowData)
{
    TableRow row = new TableRow(this);
    for (DataPoint dp : rd.getDataPoints())
    {
       TextView tv = new TextView(this);
       tv.setText(dp.getText());

       /* any other styling stuff here */

       row.addView(tv);
     }
 table.addView(row);
}

Это приведет к созданию таблицы с несколькими столбцами в одной таблице.

Для параметров макета можно использовать:

new TableRow.LayoutParams(0, LayoutParams.WRAP_CONTENT, (float) 5);

Это означает, что ширина равна 0, обтекание содержимого по высоте, а затем относительный «вес» для ширины. Android будет правильно размещать столбцы с помощью этого.

...