アプリのインターフェイスを、ヘッダー、コンテンツ、フッターの 3 つの領域に分けました。ヘッダーのサイズは固定 (画像は 1 つだけ) ですが、フッターとコンテンツのサイズは可変です。
より高い解像度のデバイスでは、画面にヘッダーとフッターを挿入し、コンテンツ領域用に空きスペースを確保することを考えました. 低解像度のデバイスでは、コンテンツの長さを可能な限り短くし (wrap_content のようなもの)、フッターを下に挿入することを考えました (ユーザーがフッターを表示するにはスクロールを実行する必要があります)。
私が得た最高のものは、RelativeViewを使用することでした:
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentTop="true" >
(...)
</LinearLayout>
<LinearLayout
android:id="@+id/footer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentBottom="true" >
(...)
</LinearLayout>
<FrameLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/footer"
android:layout_below="@+id/header"
android:lay >
(...)
</FrameLayout>
</RelativeLayout>
解像度が大きい場合は期待どおりに機能しますが、解像度が小さい場合の問題は、ヘッダーとフッターの間にスペースが必要なため、コンテンツが本来よりも少なくなることです。
どうすれば問題を解決できますか? コンテンツはヘッダーとフッターの間にあるため、単純に fill_parent を使用できないため、(大きな解像度で) 画面のすべての空き領域を想定してコンテンツを取得する別の方法を見つけることができませんでした。min-height も使用してみましたが、成功しませんでした。