Android在同一屏幕上间隔两个片段

时间:2013-04-25 11:00:26

标签: android android-layout android-fragments

我有一个活动,在屏幕上显示两个片段,一个在另一个下面。顶部片段是活动的用户界面,第二个是自定义ListView。我有两个可以填充顶部插槽的碎片,每个碎片都有不同的尺寸。 ListView用于两者。

我面临的问题是顶部和底部碎片之间存在很大差距。我知道它与layout_weight属性有关,而layout_weight是我看到控制片段命令的屏幕数量的唯一方法。

我想知道的是,如果有一种方法可以在加载片段时动态调整保留片段区域的大小,或者如果我遇到这个丑陋的间隙。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0"/>

        <FrameLayout
            android:id="@+android:id/realtabcontent1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <FrameLayout
            android:id="@+android:id/realtabcontent2"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="2" />
    </LinearLayout>
</TabHost>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

我已经弄清楚了。托管片段的两个FrameLayouts的布局高度应设置为android:layout_height="wrap_content",并且应删除layout_weight行。然后在加载到该FrameLayout的片段上动态处理间距。