1. 程式人生 > >android scrollView 內部子佈局MATCH_PARENT卻無法填充滿螢幕問題

android scrollView 內部子佈局MATCH_PARENT卻無法填充滿螢幕問題

ScrollView滾動檢視是指當擁有很多內容、螢幕顯示不完時、需要通過滾動跳來顯示的檢視、Scrollview的一般用法如下、以下程式碼在Scrollview裡面放了一個RelativeLayout、並且是設定為android:layout_height="match_parent"填充全屏的,但是測試以後不起作用。佈局如下:

<ScrollView
	android:layout_width="match_parent"
	android:layout_height="match_parent"><RelativeLayout
		android:layout_width
="match_parent" android:layout_height="match_parent" android:background="@color/common_background"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" android:background
="@drawable/bottom_bg"/></RelativeLayout></ScrollView>
檢視android API 獲知,

其中白色部分是scrollView,灰色部分是TextView,很明顯,scrollview(白色)已經擴充套件到最大高度了,但是其內部的TextView(灰色)卻沒有擴充套件.可明明TextView的layout_height="fill_parent",為什麼沒佔滿呢?是因為TextView的上層LinearLayout為wrap_content的原因嗎?

但是換成fill_parent還是一樣的(實際上Scrollview的第一層View的layout_weight在sdk中是建議為wrap_content

的)。

後來在stackoverflow上找到了原因: http://stackoverflow.com/questions/2599837/linearlayout-not-expanding-inside-a-scrollview

要讓ScrollView內部元素的 fill_parent 起作用必須設定android:fillViewport="true"

1 2 3 4 5 <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" >