多分死ぬほど既出で、みんな知ってて、自分自身でも何度もやったことあるレイアウトなんだけど、今まさにどうやっても出来ない!
ってなる。なった。
なったときにどう検索してもドンピシャな解法が出てこなかった。
のでメモ。
なんか固定値の高さをもつボタンやナビゲーションや画像を置いた上で、残りの領域にListViewとかRecyclerViewとかとかを配置したい。
RelativeLayoutを使ったりとか色々試したんだけど、どうしても要素がはみ出たり重なったりする。
結局、LinearLayoutで要素を並べて、固定幅・固定高さじゃない方、残った高さをフルに使いたい方にlayout_weightを指定して占有させることで目的を達成できた。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical">
<!-- なんかいろんな要素 -->
<!-- ListViewとかを含む -->
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_gravity="bottom"
android:text="button" />
</LinearLayout>
(いまどきConstraintLayoutでやらないのもどうなのかね)
(まあいいじゃん)