添加ScrollView时出错

时间:2017-02-07 21:34:44

标签: android android-scrollview

我在一个活动中有多个组件,我想添加滚动条以将组件从此android:id="@+id/regName_id"组件垂直滚动到此android:id="@+id/regButton_id"组件,但我收到布局错误(xml文件中的错误) 。请告诉我该怎么做?

整个活动的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.appdeveloper.appname.MainActivity"
    android:background="#ff003b"
    android:focusableInTouchMode="true">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/appLogoImage_id"
        android:src="@drawable/applogo"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/loginPassword_id"
        android:textAlignment="center"
        android:hint="Enter Application Password"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:layout_below="@+id/appLogoImage_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="50dp"
        android:background="@android:color/transparent"
        android:visibility="visible"
        android:textCursorDrawable="@drawable/white_cursor" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="REGISTRATION"
        android:id="@+id/regTitle_id"
        android:layout_below="@+id/appLogoImage_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:textColor="#ffffff"
        android:textAlignment="center"
        android:layout_marginTop="50dp"
        android:visibility="invisible"
        android:textStyle="bold" />

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textNoSuggestions|text"
        android:ems="10"
        android:id="@+id/regName_id"
        android:layout_below="@+id/loginPassword_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Your Good Name"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_marginTop="0dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/regPassword_id"
        android:layout_below="@+id/regName_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Application Password"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_marginTop="10dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/regVerifyPass_id"
        android:layout_below="@+id/regPassword_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Verify Password"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_marginTop="10dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/regRingCode_id"
        android:hint="Ringing Codeword"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_below="@+id/regVerifyPass_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="10dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/regLocationCode_id"
        android:hint="Location Codeword"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/regRingCode_id"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="10dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:ems="10"
        android:id="@+id/regNum1_id"
        android:hint="1st Trusted Number"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_below="@+id/regLocationCode_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="10dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible"
        android:phoneNumber="false" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:ems="10"
        android:id="@+id/regNum2_id"
        android:hint="2nd Trusted Number"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_below="@+id/regNum1_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="10dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible"
        android:phoneNumber="false" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:ems="10"
        android:id="@+id/regNum3_id"
        android:hint="3rd Trusted Number"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:background="@android:color/transparent"
        android:layout_below="@+id/regNum2_id"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="10dp"
        android:textCursorDrawable="@drawable/white_cursor"
        android:visibility="invisible"
        android:phoneNumber="false" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Register"
        android:id="@+id/regButton_id"
        android:layout_below="@+id/regNum3_id"
        android:layout_marginTop="15dp"
        android:layout_alignLeft="@+id/appLogoImage_id"
        android:layout_alignStart="@+id/appLogoImage_id"
        android:layout_alignRight="@+id/appLogoImage_id"
        android:layout_alignEnd="@+id/appLogoImage_id"
        android:visibility="invisible" />

    </RelativeLayout>
    </ScrollView>

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

这些元素不是兄弟姐妹,因为它们不在同一个布局中:(只需删除这些属性)

第72行的EditText:

 android:layout_below="@+id/loginPassword_id"  

第235行的按钮:

android:layout_alignLeft="@+id/appLogoImage_id"  
android:layout_alignStart="@+id/appLogoImage_id" 
android:layout_alignRight="@+id/appLogoImage_id"
android:layout_alignEnd="@+id/appLogoImage_id"

要在布局元素之间创建一个滚动视图,请查看此示例,我希望它会有所帮助:

<RelativeLayout 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="#ff003b"
    android:focusableInTouchMode="true"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:text="TOP ELEMENT" />

    <!--Just a random height-->
    <ScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_below="@+id/textView">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="20dp"
                android:layout_alignBottom="@+id/scrollView"
                android:text="SCROLLED ELEMENT" />
        </LinearLayout>

    </ScrollView>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:layout_alignBottom="@+id/scrollView"
        android:text="BOTTOM ELEMENT" />

</RelativeLayout>