2014-01-10 32 views
1

我在我的應用程序中有一個RelativeLayout,但是當手機處於橫向模式時它不會滾動。我讀到我需要把它放在一個ScrollView中,但是我一直在收到錯誤,所以我可能不會這樣做。Android的RelativeLayout將不會在橫向模式下滾動

任何提示?

在此先感謝。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#ff8400" 
android:orientation="vertical" > 

<EditText 
    android:id="@+id/txt_nomeSpot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="42dp" 
    android:ems="10" 
    android:hint="@string/nome" 
    android:inputType="text" 
    android:gravity="center" > 

    <requestFocus /> 
</EditText> 

<EditText 
    android:id="@+id/txt_coordSpot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txt_nomeSpot" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:hint="@string/coordenadas" 
    android:inputType="text" 
    android:ems="10" 
    android:gravity="center" /> 

<EditText 
    android:id="@+id/txt_classSpot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txt_coordSpot" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:hint="@string/classif" 
    android:inputType="text" 
    android:ems="10" 
    android:gravity="center" /> 

<EditText 
    android:id="@+id/txt_tipoSpot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txt_classSpot" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:hint="@string/tipo" 
    android:inputType="text" 
    android:ems="10" 
    android:gravity="center"/> 

<EditText 
    android:id="@+id/txt_subtipoSpot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txt_tipoSpot" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:hint="@string/subtipo" 
    android:inputType="text" 
    android:ems="10" 
    android:gravity="center" /> 

<EditText 
    android:id="@+id/txt_moradaSpot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txt_subtipoSpot" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:hint="@string/morada" 
    android:inputType="text" 
    android:ems="10" 
    android:gravity="center" /> 

<Button 
    android:id="@+id/btn_submitSpot" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txt_moradaSpot" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:text="@string/submeter" /> 

回答

3

只需具有滾動型作爲頂層元素。您現有的RelativeLayout然後進入。

<?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="fill_parent" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#ff8400" 
     android:orientation="vertical" > 

     ...other existing code here 

    </RelativeLayout> 

</ScrollView> 

編輯:我已經改變了你的RelativeLayout的高度,以「WRAP_CONTENT」因爲kabuko是什麼,他在他回答說是正確的。

+0

我按照你告訴過我的樣子,結果如下:http://s30.postimg.org/g3hw5hfjl/unnamed.png 我做錯了什麼? – Faquir

+0

我的錯誤 - 嘗試將RelativeLayout寬度設置回「match_parent」,但將高度保留爲「wrap_content」。 – NigelK

+0

現在是這樣的:http://s23.postimg.org/tnfbo9rvv/Screenshot_2014_01_11_01_17_02.png 它越來越近了...... – Faquir

1

您確實需要ScrollView,但View裏面的高度爲match_parent沒有意義。這將使內部View大小與ScrollView相同,不需要滾動。你需要設置內部View(在這種情況下你的RelativeLayout)高到足以顯示其所有內容。通常,這意味着wrap_content

相關問題