android scrollView 內部子佈局MATCH_PARENT卻無法填充滿螢幕問題
阿新 • • 發佈:2019-02-03
ScrollView滾動檢視是指當擁有很多內容、螢幕顯示不完時、需要通過滾動跳來顯示的檢視、Scrollview的一般用法如下、以下程式碼在Scrollview裡面放了一個RelativeLayout、並且是設定為android:layout_height="match_parent"填充全屏的,但是測試以後不起作用。佈局如下:
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent"><RelativeLayout android:layout_width檢視android API 獲知,="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>
其中白色部分是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"
>
|