То, что вы уже написали, на самом деле уже должно создавать две колонки, дело в том, что они могут располагаться не так, как вы ожидаете на экране - колонки будут как можно более узкими.Тег 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 = "горизонтальный".Если у вас есть несколько строк, имейте в виду, что вы действительно имеете дело с таблицей - все строки столбца будут располагаться ровно одна над другой, а самая широкая строка будет определять ширину столбца.