Используйте android:layout_width="match_parent"
в представлениях tableRow.
Теперь у вас есть различные возможности в TableLayout, устанавливающие для параметра android:stretchColumns
значение:
Value "*"
Вид будет иметь одинаковую ширину и заполнит строку, занимающую то же пространство
Value "0" or other integer
-> Первый или элемент, соответствующий целому числу в строке, заполнит строку. Другое представление будет иметь ширину таким же образом, как wrap_content
Пример с разметкой таблицы из 3 tableRow с 2 представлениями каждый:
Без настройки android:stretchColumns
:
[|TextView|EditText| ]
[|TextView|EditText| ]
[|TextView|EditText| ]
андроид: stretchColumns = "*"
[| TextView | EditText |]
[| TextView | EditText |]
[| TextView | EditText |]
Android: stretchColumns = "0"
[| TextView |EditText|]
[| TextView |EditText|]
[| TextView |EditText|]
Android: stretchColumns = "1"
[|TextView| EditText |]
[|TextView| EditText |]
[|TextView| EditText |]