【Android】ScrollViewで高さいっぱいに表示(fillViewport)

画面の高さよりも大きいレイアウトを表示させたい場合、
「ScrollView」をスクロールさせたいビューの親に配置します。

「ScrollView」の配置でスクロールバーが表示され、
スクロールする事により、レイアウト全体を表示する事ができます。

ScrollView高さ大

しかし、画面の高さよりも小さいレイアウトを表示させたい場合、
「ScrollView」の高さ指定で、android:layout_height=”fill_parent” を設定しても、
「ScrollView」の高さは、親ビューであるアクティビティいっぱいに表示されず、
子ビューの高さで表示されてしまいます。

ScrollView高さ小

「ScrollView」の高さを、親ビューであるアクティビティいっぱいに表示させ、
「ScrollView」に指定した背景を画面下まで表示させたい場合には、
「ScrollView」の高さ指定に対して、

android:fillViewport="true" 

を設定する必要があります。

<ScrollView
	android:id="@+id/scroller"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:fillViewport="true"
	android:background="@drawable/background">  
	<LinearLayout
		android:id="@+id/content"
		android:layout_width="fill_parent" 
		android:layout_height="fill_parent"
		android:orientation="vertical"
		android:baselineAligned="true"
		android:background="@drawable/back_img_repeat">
	</LinearLayout>  
</ScrollView>
 

これで、「ScrollView」の高さを、親ビューいっぱいに表示する事ができました。

fillViewport

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>