想要添加滚动视图

Want to add a scroll view

当我尝试添加 ScrollView 时,出现滚动视图只能包含一个子视图的错误。那么如何添加 ScrollView 呢? 而且,当我在各种手机中打开我的应用程序时,所有手机都会提供不同的布局。如何为所有移动设备管理相同的应用程序外观?

Register.xml

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:background="#0066CC"
    android:orientation="vertical"

    android:padding="10dp" >

    <ImageView
        android:id="@+id/upImage"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" 
        android:background="#000"
        android:layout_gravity="center_horizontal"/>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="465dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:layout_weight="0.02"
        android:layout_marginBottom="100dp"
        android:textSize="15sp"
        android:textStyle="bold"
        android:text="Tap to upload Profile Picture" />

    <EditText
        android:id="@+id/imName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

     android:layout_marginBottom="50dp"
     android:hint="Enter name of the Image"
        android:ems="10" >


    </EditText>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Name" />

    <EditText
        android:id="@+id/etName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Age" />

    <EditText
        android:id="@+id/etAge"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Username" />

    <EditText
        android:id="@+id/etUsername"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Password" />

    <EditText
        android:id="@+id/etPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/bRegister"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Register" />

</LinearLayout>

ScrollView只允许单个child 所以把你 parent LinearLayout 放在 ScrollView 里面,如下所示

<ScrollView 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">

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#0066CC"
        android:orientation="vertical"
        android:padding="10dp" >

        <ImageView
            android:id="@+id/upImage"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" 
            android:background="#000"
            android:layout_gravity="center_horizontal"/>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="465dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:layout_weight="0.02"
            android:layout_marginBottom="100dp"
            android:textSize="15sp"
            android:textStyle="bold"
            android:text="Tap to upload Profile Picture" />

        <EditText
            android:id="@+id/imName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="50dp"
            android:hint="Enter name of the Image"
            android:ems="10" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Name" />

        <EditText
            android:id="@+id/etName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Age" />

        <EditText
            android:id="@+id/etAge"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Username" />

        <EditText
            android:id="@+id/etUsername"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Password" />

        <EditText
            android:id="@+id/etPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:inputType="textPassword" />

        <Button
            android:id="@+id/bRegister"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Register" />

    </LinearLayout>
</ScrollView>

Android 仅支持 ScrollView 中的单个子项。最简单的方法是将所有内容都包含在 LinearLayout 中,并使其成为 ScrollView 的子项。

如果您希望在整个应用程序中保持相同的外观和感觉,请尝试使用 RelativeLayout 而不是 LinearLayout 作为 ScrollView 的子项。