AndroidrelativeLayout在横向模式下不会滚动

Faq*_*uir 2 layout android landscape scrollview android-relativelayout

我的应用程序中有一个相对布局,但是当手机处于横向模式时,它不会滚动。我读到我需要将其放入 ScrollView 中,但我不断收到错误,所以我可能做得不对。

有小费吗?

提前致谢。

<?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" />
Run Code Online (Sandbox Code Playgroud)

Nig*_*elK 5

只需将 ScrollView 作为顶级元素即可。然后您现有的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>
Run Code Online (Sandbox Code Playgroud)

编辑:我已将您的relativelayout的高度更改为“wrap_content”,因为kabuko在他的回答中所说的内容是正确的。