我有一个由RelativeLayout组成的Layout,TableLayout包含15行。基本上这应该是一个棋盘游戏。 每行有15个RelativeLayout,每个行都有一个ImageView。 三个第一个ImageViews均匀匹配,但从第四个ImageViews得到一个更小的高度,在行之间留下一个小的白色边框/线。 我不知道如何解决这个问题,任何人都可以帮忙吗?
从下图中可以看出,三个第一个正方形处于全高,而其余正方形下方有一条线。
这是代码的一小部分,所有行都完全相同所以不需要粘贴全部15:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableLayout
android:id="@+id/board"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="0dip"
android:layout_margin="0dip"
android:fitsSystemWindows="true">
<!-- 15 rows like this -->
<TableRow
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_margin="0dip"
android:padding="0dip">
<!-- 15 relativeLayouts per Row -->
<RelativeLayout
android:id="@+id/boardTile_15_1"
android:layout_weight="1">
<!-- One ImageView per RelativeLayout -->
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="0dip"
android:padding="0dip"
android:src="@drawable/tile"
android:adjustViewBounds="true">
</ImageView>
</RelativeLayout>
<!-- End one RelativeLayout -->
</TableRow>
<!-- End one tableRow -->
答案 0 :(得分:0)
很难说没有测试,但是“调试”这样的复杂视图的有用技巧是为相关的子视图添加背景颜色(即包含RelativeLayouts
的{{1}}),只是为了检查谁包含填充。
您也可以尽可能地简化,例如,您可能不需要将ImageViews
包裹在ImageViews
内。
那就是说,我的猜测RelativeLayouts
需要设置ImageViews
属性,它们看起来像.-
scaleType
没有必要设置填充/边距,因为默认情况下它们是0,并且请记住,从API级别8不推荐使用<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/tile"
android:adjustViewBounds="true" />
。