Android表格布局图像边距

时间:2012-07-11 21:07:52

标签: android android-layout

我有以下表格布局,我用它来显示网格中的图像按钮。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<TableRow
    android:id="@+id/tableRow4"
    android:layout_weight="1" >

    <ImageButton
        android:id="@+id/button_one"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@drawable/button"
        android:scaleType="fitCenter"
        android:src="@drawable/button_one" />

    <ImageButton
        android:id="@+id/button_two"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@drawable/button"
        android:scaleType="fitCenter"
        android:src="@drawable/button_two" />
</TableRow>

<TableRow
    android:id="@+id/tableRow4"
    android:layout_weight="1" >

    <ImageButton
        android:id="@+id/button_three"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@drawable/button"
        android:scaleType="fitCenter"
        android:src="@drawable/button_three" />
</TableRow>

如您所见,第一行包含两列,第二行包含一列。

我想要扩展图像以适应表格单元格。然而,底部图像按钮的边缘与顶部的两个图像按钮不完全对齐。就好像底部单元格上有额外的填充或边距。

任何想法如何让这些完美排列?

提前致谢。

截图:

enter image description here

2 个答案:

答案 0 :(得分:0)

正如vasart所提到的,用fitCenter替换所有fitXY都可以解决问题

更新了XML:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff" >

    <TableRow
        android:id="@+id/tableRow4"
        android:layout_weight="1" >

        <ImageButton
            android:id="@+id/button_one"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:adjustViewBounds="true"
            android:background="@drawable/button"
            android:scaleType="fitXY" />

        <ImageButton
            android:id="@+id/button_two"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:adjustViewBounds="true"
            android:background="@drawable/button"
            android:scaleType="fitXY" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow5"
        android:layout_weight="1" >

        <ImageButton
            android:id="@+id/button_three"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:adjustViewBounds="true"
            android:background="@drawable/button"
            android:scaleType="fitXY" />
    </TableRow>

</TableLayout>

答案 1 :(得分:0)

我解决了这个问题...

我最初使用九贴片可绘制的背景,因为我有弯角,但是当我切换到有尖角的常规图像时,我忘了从图像中删除边框... doh!重做图像解决了问题 - 我的xml原样很好。

/ palmface