我正在使用具有 3 行的 TableLayout,每行有 3 个图像按钮。我想保持图像的纵横比。
我已经定义了这样的布局:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#000000"
android:padding="0dp" >
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="0dp" >
<ImageButton
android:layout_weight="1"
android:adjustViewBounds="true"
android:contentDescription="@string/Cell"
android:padding="0dp"
android:scaleType="fitCenter"
android:src="@drawable/empty" >
</ImageButton>
<!-- Two more images like above -->
</TableRow>
<!-- Two more rows like above -->
</TableLayout>
使用这种布局,我得到如下内容:
http://i.stack.imgur.com/reoSd.png
如您所见,最后一列中的行之间出现了奇怪的洞。我不知道为什么,但是如果我将 TableLayout 边距更改为 0dp,这个问题就会消失:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:background="#000000"
android:padding="0dp" >
结果:
http://i.stack.imgur.com/Jytix.png
为什么会有这种行为?我做错了什么?我已经对此进行了测试,模拟器上有许多设备,我总是得到相同的结果。作为附加信息,我已经使用 getHeight() 和 getWidth() 打印了最后一列和第一列图像的大小和填充...,而且我总是得到完全相同的结果。