を使用すれば、最初の部分はかなり簡単なはずですandroid:layout_width
。ImageView (またはそのコンテナー) のみに layout_width を設定すると、親レイアウトを可能な限り多く占有するように拡張されます。たとえば、ImageView が画面の残り全体を占めるレイアウトが必要な場合は、次のようにします。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:src="@drawable/icon"
android:scaleType="fitCenter" android:layout_weight="1" />
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- Put whatever you want in here -->
</LinearLayout>
</LinearLayout>
この例では、画面全体を占めるように画像を拡大していますが、「画像が画面に対して大きすぎてスクロールが必要な場合はどうすればよいですか?」という問題もあります。その場合は、レイアウトに ScrollView を追加するだけです。画像が縦に高すぎる場合、画面は自動的にスクロールします。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:fillViewport="true">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<ImageView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:src="@drawable/huge"
android:scaleType="fitCenter" android:layout_weight="1" />
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- Insert your content here -->
</LinearLayout>
</LinearLayout>
</ScrollView>
注意すべき重要な点の 1 つはandroid:fillViewport
、ScrollView で true に設定していない場合、小さすぎる ImageView が画面全体に表示されないことです。