Как установить Столбец Столбец в Android - PullRequest
11 голосов
/ 18 января 2012

У меня возникли некоторые трудности при настройке параметров макета строк таблицы (содержащих текстовые представления).

Я хочу добавить несколько столбцов, чтобы получить хороший макет. Я делаю это динамически. (в коде)

<TableRow> 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ok"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="bye"/>
</TableRow>

Я хочу, чтобы эти два текстовых представления стали двумя столбцами и соответственно отображались на экране.

1 Ответ

17 голосов
/ 18 января 2012

То, что вы уже написали, на самом деле уже должно создавать две колонки, дело в том, что они могут располагаться не так, как вы ожидаете на экране - колонки будут как можно более узкими.Тег TableLayout в макете Android имеет несколько атрибутов.Одним из них является столбцы растяжения - если дано, описанные столбцы будут растянуты так, чтобы заполнить всю обозначенную ширину.Если вам нужно, чтобы все они растягивались равномерно, используйте звездочку, если вы хотите, чтобы какой-либо конкретный столбец растягивался на оставшееся пространство, используйте его индекс на основе 1 (вы можете указать группу индексов).Смотрите здесь:

<TableLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:stretchColumns="0,1" >
   <TableRow android:layout_width="fill_parent"> 
     <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="ok"    
      />
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="bye" />
   </TableRow>
</TableLayout>

Кстати, если вам нужна только одна строка, вы можете сделать то же самое с LinearLayout и axis = "горизонтальный".Если у вас есть несколько строк, имейте в виду, что вы действительно имеете дело с таблицей - все строки столбца будут располагаться ровно одна над другой, а самая широкая строка будет определять ширину столбца.

...