0

我的 Android 布局有一个奇怪的差距。我已经设置了视图和布局的背景颜色,以便您可以看到在哪里。中间的灰色框是间隙。我有一个整体的RelativeLayout(白色背景),顶部有一个工具栏(以粉红色显示),然后是一个LinearLayout,它是其他所有内容(以黄色显示)。在那个黄色布局中,我有两个孩子:详细信息(以蓝色显示)和一个 ListView(以红色显示)。但是,中间的灰色区域……我不知道那是从哪里来的。

在此处输入图像描述

这是我的布局文件(为了便于阅读,剪裁了一些信息):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rootView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#fff"
>
    <RelativeLayout
        android:id="@+id/toolbar"
        android:layout_width="fill_parent"
        android:layout_height="44dp"
        android:background="@drawable/toolbar_gradient"
        android:layout_alignParentTop="true" 
        android:background="#f0f"
       >

        <Button style="@style/Button.Done" />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/toolbar"
        android:paddingTop="4dp"
        android:weightSum="10"
        android:orientation="vertical"
        android:background="#ff0"
    >
        <LinearLayout 
            android:layout_width="fill_parent" 
            android:layout_height="0dp" 
            android:layout_weight="3.5" 
            android:weightSum="9"
            android:orientation="vertical"
            android:background="#00f"
            >

        </LinearLayout>

        <ListView
            android:id="@+id/tableView"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="6.5"
            android:background="#f00" >
        </ListView>
    </LinearLayout>

</RelativeLayout>

这里发生了什么?我错过了什么?

编辑:看来布局 xml 可能不是问题。我一直在努力减少,减少,减少并找到真正的罪魁祸首。看起来我的问题存在于 ListAdapter 代码中。当我发现它时会更新更多。

4

2 回答 2

0

好的,所以在移除东西直到修复并重新添加东西直到它再次破裂以缩小到具体问题之后,我发现了我的错误。我将问题缩小到我在上面 ListView 内的单元格布局上的样式。

不久前我创建了一个脚本来帮助我为不同的布局大小生成许多不同的 style.xml 副本,这样我就可以为不同的设备提供良好的字体大小或 layout_height 值,并使它们看起来正确。但是,由于我的样式模板中的错误,使用 line 生成的 style.xml <item name="android:layout_height">dp</item>。dp 之前缺少的数字导致了古怪的行为。

叹息好吧,那太糟糕了。;)

于 2012-04-27T15:21:47.207 回答
0

您是否尝试android:layout_alignParentBottom="true"从第一个 LinearLayout 的定义中删除该行?

于 2012-04-24T14:25:48.377 回答