1. 程式人生 > >關於ScrollView裡面包裹LinearLayout 設定權重 填充滿螢幕無效問題解決方法

關於ScrollView裡面包裹LinearLayout 設定權重 填充滿螢幕無效問題解決方法

最近在開發中遇到了這個問題  ScrollView在小屏手機裡面填滿了螢幕  但是在大屏裡面沒有填滿 下部有留白 打算讓最後一個按鈕停靠在螢幕最下端  裡面包裹LinearLayout  然後設定權重的 方式  但是沒有效果  卡了好久  各種找問題  

最後在網上查到  當ScrollView裡的元素想填滿ScrollView時,使用"fill_parent"是不管用的,必需為ScrollView設定:android:fillViewport="true"。

當ScrollView沒有fillVeewport=“true”時, 裡面的元素(比如LinearLayout)會按照wrap_content來計算(不論它是否設了"fill_parent"),而如果LinearLayout的元素設定了fill_parent,那麼也是不管用的,因為LinearLayout依賴裡面的元素,而裡面的元素又依賴LinearLayout,這樣自相矛盾.所以裡面元素設定了fill_parent,也會當做wrap_content來計算.

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tool_bar"
android:layout_marginTop="10dp"
android:background="@color/color_ffffff"
android:fillViewport="true"
android:scrollbars="none">