1
我有4个按钮排列在2x2 TableLayout中。这些按钮每个都有左侧的图像和一些文字。这些按钮在模拟器中可以很好地显示1.5和2.2,但是当使用1.6进行测试时,右侧列中的两个按钮会被裁剪掉,以致它们缺少右手边缘(缺少文本右侧的填充并且按钮突然结束,而不是圆角)。 TableLayout有足够的空间扩展以适应按钮的全部宽度。这发生在所有屏幕尺寸上。TableLayout中的按钮在Android 1.6和2.1(但不是1.5或2.2)上裁剪
布局看起来像这样与自身出现的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>
的按钮样式如下:
<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>
我假设这是一个1.6特定错误。有其他人遇到这个问题吗?任何关于解决方法的建议?
编辑:我有机会尝试与Android 2.1(在模拟器和设备上),并且问题也发生在那里。所以1.5好,1.6差,2.1差,2.2好。
最简单的变通现在是指定一个固定的按钮的宽度,而不是将其设置为“WRAP_CONTENT”,让布局数字出来。 – 2010-08-09 14:20:16