2015-10-15 52 views
-3

對於我的應用我有有Android的 - 滾動查看

<Linear Layout> 
    <RelativeLayout> 
    <RelativeLayout> 
    <RelativeLayout> 
    <RelativeLayout> 
    <RelativeLayout> 
    <RelativeLayout> 
    <RelativeLayout> 
    <RelativeLayout> 

在這些相對佈局的佈局是頁面的內容的屏幕,但在其中的一個有以下

<RelativeLayout> 
    <LinearLayout> 
    <LinearLayout> 
    <LinearLayout> 
    <LinearLayout> 

我希望這個內容是可滾動的,但應用程序崩潰,說明可滾動視圖只能有一個子項目,反正有這個嗎?根據要求

編輯XML

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="2.27" 
    > 



    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/linearLayout" 
     android:layout_above="@+id/linearLayout2" 
     android:layout_alignParentStart="true"> 

     <Spinner 
      android:layout_width="0dp" 
      android:layout_height="25dp" 
      android:id="@+id/Combo_FlavChoice1" 
      android:layout_weight="1" 
      android:spinnerMode="dropdown" 
      android:entries="@array/VGPG_combo" 
      /> 

     <Spinner 
      android:layout_width="0dp" 
      android:layout_height="25dp" 
      android:id="@+id/Combo_InvChoice1" 
      android:layout_weight="2" 
      android:spinnerMode="dialog" /> 

     <EditText 
      android:layout_width="0dp" 
      android:layout_height="30dp" 
      android:inputType="numberDecimal" 
      android:ems="10" 
      android:id="@+id/Text_Perc1" 
      android:layout_weight="1" 
      android:textSize="8sp" /> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/linearLayout2" 
     android:layout_above="@+id/linearLayout3" 
     android:layout_alignParentStart="true"> 

     <Spinner 
      android:layout_width="0dp" 
      android:layout_height="25dp" 
      android:id="@+id/Combo_FlavChoice2" 
      android:layout_weight="1" 
      android:spinnerMode="dropdown" 
      android:entries="@array/VGPG_combo" /> 

     <Spinner 
      android:layout_width="0dp" 
      android:layout_height="25dp" 
      android:id="@+id/Combo_InvChoice2" 
      android:layout_weight="2" 
      android:spinnerMode="dialog" /> 

     <EditText 
      android:layout_width="0dp" 
      android:layout_height="30dp" 
      android:inputType="numberDecimal" 
      android:ems="10" 
      android:id="@+id/Text_Perc2" 
      android:layout_weight="1" 
      android:textSize="8sp" /> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/linearLayout3" 
     android:layout_above="@+id/linearLayout4" 
     android:layout_alignParentStart="true"> 

     <Spinner 
      android:layout_width="0dp" 
      android:layout_height="25dp" 
      android:id="@+id/Combo_FlavChoice3" 
      android:layout_weight="1" 
      android:spinnerMode="dropdown" 
      android:entries="@array/VGPG_combo" /> 

     <Spinner 
      android:layout_width="0dp" 
      android:layout_height="25dp" 
      android:id="@+id/Combo_InvChoice3" 
      android:layout_weight="2" 
      android:spinnerMode="dialog" /> 

     <EditText 
      android:layout_width="0dp" 
      android:layout_height="30dp" 
      android:inputType="numberDecimal" 
      android:ems="10" 
      android:id="@+id/Text_Perc3" 
      android:layout_weight="1" 
      android:textSize="8sp" /> 
    </LinearLayout> 

編輯 - 這是視圖看起來應該像

Original

現在:

Now

+0

你能分享你的xml嗎? –

+0

ScrollView在哪裏? – FlanschiFox

+0

將它刪除,因爲它導致錯誤! – Sjharrison

回答

0

從文檔(http://developer.android.com/reference/android/widget/ScrollView.html):

ScrollView是一個FrameLayout,這意味着你應該放置一個包含整個內容的子項來滾動;這個孩子本身可能是一個具有複雜對象層次結構的佈局管理器。一個經常使用的孩子是一個垂直方向的LinearLayout,呈現一個頂級項目的垂直數組,用戶可以滾動瀏覽。

你只需要將你的外部RelativeLayout包裝在一個ScrollView中。另外,它看起來像在RelativeLayout中將3個LinearLayouts放在另一個的頂部,將它們放在LinearLayout中並使該wrap_content的高度更好?

0

添加一個LinearLayout到你的ScrollView並用你的RelativeLayouts填充那個。類似這樣的:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/scrollView" > 

      <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      add your stuff here 

      </LinearLayout> 
    </ScrollView> 
</FrameLayout> 
+0

嗨@Helix我完成了你的建議,但是現在我的線性佈局是在相對佈局中彼此重疊並且不會排隊一個在另一個之下,我會用屏幕截圖更新我的問題 – Sjharrison