Botões no TableLayout cortados no Android 1.6 e 2.1 (mas não no 1.5 ou 2.2)
Eu tenho quatro botões dispostos em um 2x2 TableLayout. Esses botões têm uma imagem à esquerda e algum texto. Os botões são exibidos corretamente no emulador para 1.5 e 2.2, mas ao testar com 1.6, os dois botões na coluna da direita são cortados para que eles não percam a borda direita (o preenchimento à direita do texto está ausente e o botão termina abruptamente com cantos quadrados ao invés de arredondados). Há muito espaço para o TableLayout se expandir para acomodar toda a largura dos botões. Isso acontece para todos os tamanhos de tela.
O layout se parece com isso e aparece em um RelativeLayout:
<TableLayout android:id="@+id/buttons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:paddingTop="10dp">
<TableRow>
<Button android:id="@+id/button1"
style="@style/LaunchButton"
android:drawableLeft="@drawable/button1"
android:text="@string/button1"/>
<Button android:id="@+id/button2"
style="@style/LaunchButton"
android:drawableLeft="@drawable/button2"
android:text="@string/button2"/>
</TableRow>
<TableRow>
<Button android:id="@+id/button3"
style="@style/LaunchButton"
android:drawableLeft="@drawable/button3"
android:text="@string/button3"/>
<Button android:id="@+id/button4"
style="@style/LaunchButton"
android:drawableLeft="@drawable/button4"
android:text="@string/button4"/>
</TableRow>
</TableLayout>
Os botões são estilizados da seguinte maneira:
<style name="LaunchButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:gravity">fill_horizontal</item>
<item name="android:textSize">24dp</item>
<item name="android:textStyle">bold</item>
</style>
Estou assumindo que este é um bug específico da 1.6. Alguém mais se deparou com esse problema? Alguma sugestão para soluções alternativas?
EDITAR: Eu tive a oportunidade de experimentá-lo com o Android 2.1 (tanto no emulador quanto em um dispositivo), e o problema também acontece lá. Então, 1,5 bom, 1,6 ruim, 2,1 ruim, 2,2 bom.