Вот часть от моего XML для формата ЗЕМЛИ:
<TableLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/countbutton"
android:text="@string/plus1"/>
<Button
android:id="@+id/resetbutton"
android:text="@string/reset"
/>
</TableRow>
</TableLayout>
И теперь что я не получаю - ШИРИНА одной строки и также кнопки зависит от ТЕКСТА в кнопке. Если оба текста одинаково длинны, позволяет, скажите: НАПИШИТЕ хорошо - таблица половина посреди экрана. Но если у них есть другой размер - позволяет, говорят "A" и "ЭТО - ДЛИННАЯ КНОПКА" ЦЕНТР таблицы, больше не посреди экрана и таким образом, кнопки не являются одинаково шириной...
Чтобы кнопки располагались в рядах, где кнопки одинакового размера, вам необходимо сделать.
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="0dip"/>
<Button android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_width="0dip"/>
</LinearLayout>
И заполните остальные свойства xml для ваших кнопок.
Магия заключается в свойствах layout_weight и width. Макет таблицы вам не нужен. Эти свойства сообщают макету, что ваши представления должны занимать равное место в родительском макете.