Buduję układ dla dużych ekranów, który ma składać się z 2 różnych części, lewej i prawej. W tym celu pomyślałem, że użycie 2 fragmentów jest właściwym wyborem.Android: kiedy/dlaczego powinienem używać FrameLayout zamiast Fragment?
Następnie przyjrzałem się przykładowi nawigacji z urządzeniem Master/Detail-Flow. Ma układ 2-okienkowy, z prawej strony - nawigację, a po lewej - widok szczegółów.
Ale w tym przykładzie, różni się od tego, co spodziewałem się zobaczyć na widoku szczegółowym jest FrameLayout
które następnie przechowuje Fragment
, zamiast Fragment
bezpośrednio.
XML układ wygląda następująco (przykład):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:baselineAligned="false"
android:divider="?android:attr/dividerHorizontal"
android:orientation="horizontal"
android:showDividers="middle"
tools:context=".WorkStationListActivity" >
<fragment
android:id="@+id/workstation_list"
android:name="de.tuhh.ipmt.ialp.history.WorkStationListFragment"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
tools:layout="@android:layout/list_content" />
<FrameLayout
android:id="@+id/workstation_detail_container"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3" />
</LinearLayout>
Moje pytanie brzmi: dlaczego jest FrameLayout
używany zamiast Fragment
dla samego widoku szczegółowym? Jaki jest powód lub korzyść? Czy powinienem też tego użyć?
To naprawdę pomogło. W moim przypadku nie muszę zastępować fragmentu, więc teraz wiem, że mogę opuścić 'FrameLayout' i użyć bezpośrednio' Fragment'. – Terry