2015-01-11 53 views
1

我有嵌套在幾個FrameLayouts一個滾動的LinearLayout父如下:如何防止在FrameLayouts中滾動,而是讓父LinearLayout處理所有滾動?

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fillViewport="true" 
android:scrollbars="vertical" 
android:orientation="vertical"> 

<FrameLayout 
    android:id="@+id/hb_container" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

<FrameLayout 
    android:id="@+id/gn_container" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 

<FrameLayout 
    android:id="@+id/yt_container" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 

</LinearLayout> 

我想FrameLayouts佔用他們所需要的空間,允許通過的LinearLayout衆目睽睽的滾動。

問題是:LinearLayout將只佔用屏幕,它不會滾動,而是如果內容溢出屏幕底部,FrameLayout將滾動。要清楚的是,我只想讓FrameLayouts填充他們需要的任何空間,並且LinearLayout可以像一個長視圖一樣滾動它。我必須修復FrameLayout高度來達到這個目的嗎?如果是這樣,是否有我的佈局在不同的屏幕尺寸/密度上打破的風險(或者DP在所有情況下是否真的有效?)。

非常感謝!

編輯:我已經證實,在FrameLayout中設置固定的高度,正是我想要這樣做:滾動爲一體。但是,爲什麼wrap_content不測量高度,然後從那裏開始?這就是我期望的情況......我不確定如何判斷每個元素的正確高度。

回答

-1

嘗試添加滾動視圖佈局

<?xml version="1.0" encoding="utf-8"?> 
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 

     <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    android:orientation="vertical"> 

    <FrameLayout 
     android:id="@+id/hb_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <FrameLayout 
     android:id="@+id/gn_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <FrameLayout 
     android:id="@+id/yt_container" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    </LinearLayout> 
    </ScrollView> 
+0

想這一點,但遺憾的是沒有,行爲是一樣的滾動型的行爲就像在我上面的例子中,父母的LinearLayout。 我試圖對Google Play商店在主屏幕中的功能進行建模。我確定他們必須爲這些不同的盒子使用碎片......但整個視圖都會滾動。 – AutoM8R