我的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代码中。我会发现它会更新。
答案 0 :(得分:0)
您是否尝试从第一个LinearLayout的定义中删除android:layout_alignParentBottom="true"
行?
答案 1 :(得分:0)
好的,所以在感觉像是无休止的迭代之后去除东西直到它被修复并重新添加东西直到它再次破坏以缩小到特定问题我发现了我的错误。我将问题缩小到我在上面ListView中的单元格布局上的样式。
我创建了一段脚本,以帮助我为不同的布局大小生成许多不同的style.xml副本,以便我可以为不同的设备提供良好的字体大小或layout_height值,并使它们看起来正确。但是,由于样式模板中的错误,使用行<item name="android:layout_height">dp</item>
生成的style.xml。在dp之前丢失的数字导致了不幸的行为。
叹气嗯,这很糟糕。 ;)