2つのフラグメントで構成される1つのアクティビティMainActivity
を使用してアプリケーションを構築しています。そして、フラグメントレイアウトの親コンテナとしてFrameLayout
を使用する多くのチュートリアルに出くわしました。
ただし、フラグメントの親コンテナとしてLinearLayout
を引き続き使用でき、(これまでのところ)完全に正常に機能することがわかりました。
私の質問ですが、フラグメントレイアウトの親コンテナとしてFrameLayout
を使用しないことによる副作用はありますか?
存在しない場合、フラグメントレイアウトの親コンテナとしてFrameLayout
(または他の可能なレイアウト)よりもLinearLayout
を使用する利点は何ですか。
Fragments
自体は他のView
と同じようにレンダリングされるため、レイアウトの外観に応じて、任意の親ViewGroup
を使用できます。これは、LinearLayout
とFrameLayout
を結び付けたFragments
の固有の利点がまったくないことを意味します。
FrameLayout
とLinearLayout
の主な違いは、Views
がFrameLayout
内にスタックすることです。
つまり、Fragments
を重複させる可能性がある場合は、FrameLayout
を使用します。それらを線形に表示する場合は、LinearLayout
を使用します。フルスクリーンのFragment
の場合は、どちらを選択してもかまいません。
それは完全に大丈夫です。使用できます。しかし、一般的に:
LinearLayoutは、ビューを1つずつ垂直または水平に配置するために使用されます。複数の子ビューがそれに応じて配置できるようにします。
FrameLayoutは、ビューを上下にロードするために使用されます。したがって、FrameLayout
では複数のビューを管理することが難しいため、FrameLayout
を使用して単一の子ビューを保持します。例の場合単一のCardView
を使用する場合は、FrameLayout
が最適です。