2011-04-14 132 views
3

我有一個佈局小問題。 我製作了RelativeLayout,其中我將兩個LinearLayouts(1和2)和它們之間的ScrollView與LinearLayout放在一起。接下來,我將ScrollView設置爲linearLayout2和linearLayout1之上。但是ScrollView中的LinearLayout沒有設置爲父級。Android - LinearLayout在ScrollView中的Relativelayout

下面的代碼,也許我犯了一個錯誤:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"   
     android:padding="6dip" 
     android:layout_alignParentTop="true" 
     android:id="@+id/lin1" 
     android:layout_weight="1"> 

</LinearLayout> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_alignParentBottom="true" 
     android:layout_weight="1" android:id="@+id/lin3" 
     android:layout_height="60dip">   

</LinearLayout> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:scrollbars="horizontal" 
android:layout_below="@id/lin1" 
android:layout_above="@id/lin3" android:id="@+id/ScrollView"> 

<LinearLayout 
     android:layout_width="fill_parent"      
     android:orientation="vertical" 
     android:id="@+id/lin2" 
     android:layout_height="fill_parent" 
     android:layout_gravity="center_vertical|center_horizontal"> 

    <Button android:text="@string/button1" 
     android:id="@+id/button1" 
     android:layout_gravity="center" 
     android:layout_width="280dip" 
     android:layout_height="60dip"> 
    </Button> 

    <Button android:text="@string/button2" 
     android:id="@+id/button2" 
     android:layout_gravity="center" 
     android:layout_width="280dip" 
     android:layout_height="60dip"> 
    </Button> 

    <Button android:text="@string/button3" 
     android:id="@+id/button3" 
     android:layout_gravity="center" 
     android:layout_width="280dip" 
     android:layout_height="60dip"> 
    </Button> 

    <Button android:text="@string/button4" 
     android:id="@+id/button4" 
     android:layout_gravity="center" 
     android:layout_width="280dip" 
     android:layout_height="60dip"> 
    </Button> 


</LinearLayout> 
</ScrollView> 

任何想法,爲什麼滾動型的LinearLayout裏面比大滾動型?

編輯: 到目前爲止,我已經注意到,當我設置layout_gravity =「center_vertical」時,ScrollView內部的LinearLayout向外移動。看起來設置中心是指主佈局(RelativeLayout)。

回答

5

好吧,我已經做到了。 所有我需要做的是設置的LinearLayout是滾動型的內部

layout_width="wrap_content" 
layout_gravity="center_horizontal" 
android:orientation="vertical" 

了滾動到

layout_width="fill_parent" 
layout_gravity="center_horizontal" 
layout_height="wrap_content" 

,並在結束時,我已經把那個滾動型到新的LinearLayout與參數如下:

layout_width="fill_parent" 
layout_height="fill_parent" 
gravity="center_vertical" 
orientation="vertical" 

所以ScrollView和它的子佈局設置按鈕中心horizo​​ntaly和外部LinearLayout設置它們中心垂直年。 :-)

2

嘗試更改的lin2wrap_content而不是fill_parent

+0

問題不寬,但是高度,在LIN2的高度大於它的父 - 滾動型 – Seraphis 2011-04-14 22:38:18

0

試試這個代碼,我覺得這是最好的sollution

<HorizontalScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:orientation="vertical" > 
    </HorizontalScrollView> 

相關問題