2012-07-11 97 views
2

我有下面的表格布局,我用它来在网格中显示图像按钮。Android桌面布局图像保证金

<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

+1

您可以添加屏幕截图吗? – vasart 2012-07-11 21:58:51

+0

@vasart完成... – magritte 2012-07-11 22:27:10

+1

尝试用'fitXY'替换所有'fitCenter' – vasart 2012-07-12 06:32:04

回答

0

我解决了这个问题...

我最初使用九插补drawables为背景,因为我有弯曲的角落,但是当我切换到尖角的正常图像时,我忘了从图像中删除边框...... doh!重做图像解决了这个问题 - 我的xml很好。

/palmface

0

为vasart提到,更换所有fitCenterfitXY会做的伎俩

更新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> 
+0

谢谢,我今晚会给你一个这样的解决方案 – magritte 2012-07-12 10:43:29

+0

它不能解决问题,同样的结果只有内部图像现在失真 – magritte 2012-07-12 20:19:35

+0

@TonyLeeper内部图像? – sunil 2012-07-13 04:46:01