我有一个活动,在屏幕上显示两个片段,一个在另一个下面。顶部片段是活动的用户界面,第二个是自定义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>
答案 0 :(得分:0)
我已经弄清楚了。托管片段的两个FrameLayouts的布局高度应设置为android:layout_height="wrap_content"
,并且应删除layout_weight
行。然后在加载到该FrameLayout的片段上动态处理间距。