У меня есть активность, которая отображает два фрагмента на экране, один под другим. Верхний фрагмент - это пользовательский интерфейс для активности, а второй - пользовательский ListView. У меня есть два фрагмента, которые могут заполнять верхний слот, каждый разный размер. ListView используется для обоих.Android расстояние между двумя фрагментами на одном экране
Проблема, с которой я сталкиваюсь, заключается в том, что между верхним и нижним фрагментами имеется большой разрыв. Я знаю, что это имеет какое-то отношение к атрибуту 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>
Две части соответствуют двум «FrameLayouts»? Кроме того, используйте '@ + id/theId' для non sdk ids (realtabcontent1 и realtabcontent2 не находятся в sdk). – Luksprog