10

我有一个相对布局,我想在其中添加一个滚动视图,问题是当我添加滚动视图时,我所有相对设置的小部件都丢失了它们的位置,我已经尝试了每一种可能性,但我无法设置滚动正确查看,有人可以帮助我吗?我想将滚动视图放到 xml 文件的所有元素中。

新代码:

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

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff" >

    <ImageButton
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="140dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_weight="0.9"
        android:background="@drawable/subscribe_second_top"
        android:orientation="vertical" >
    </ImageButton>





            <EditText
                android:id="@+id/editText1"
                android:layout_width="270dp"
                android:layout_height="wrap_content"
                android:layout_below="@+id/bebasNeueTextView1"
                android:layout_centerHorizontal="true"
                android:ems="10"
                android:inputType="textEmailAddress" />

            <TextView
                android:id="@+id/bebasNeueTextView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/editText1"
                android:layout_centerHorizontal="true"
                android:text="THE EMAIL YOU WILL USE TO GET ALL YOUR APPS CREATED BY THE SOFT"
                android:textColor="#000000"
                android:textSize="7sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/bebasNeueTextView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/editText2"
                android:layout_centerHorizontal="true"
                android:text="YOUR GOOGLE PLAY STORE ORDER NUMBER, IN ORDER TO PROVE YOU BOUG"
                android:textColor="#000000"
                android:textSize="7sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/bebasNeueTextView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/bebasNeueTextView2"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="16dp"
                android:text="ENTER YOUR PLAY STORE ORDER NUMBER"
                android:textColor="#94c23e"
                android:textSize="13sp"
                android:textStyle="bold" />

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="80dp"
                android:layout_alignParentBottom="true"
                android:background="@drawable/subscribe_second_bottom"
                android:paddingBottom="5dp"
                android:paddingTop="30dp" >

                <com.apkcreator.fwd.BebasNeueButton
                    android:id="@+id/finishButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_centerHorizontal="true"
                    android:background="#94c23e"
                    android:paddingBottom="10dp"
                    android:paddingLeft="30dp"
                    android:paddingRight="30dp"
                    android:paddingTop="10dp"
                    android:text="FINISH"
                    android:textSize="18sp"
                    android:textStyle="bold" />
            </RelativeLayout>

            <TextView
                android:id="@+id/bebasNeueTextView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="170dp"
                android:text="ENTER YOUR EMAIL"
                android:textColor="#94c23e"
                android:textSize="13sp"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/editText2"
                android:layout_width="270dp"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/editText1"
                android:layout_below="@+id/bebasNeueTextView4"
                android:ems="10" 
                android:layout_centerHorizontal="true">


            </EditText>

</RelativeLayout>
 </ScrollView>
4

6 回答 6

8

检查此链接: 如何将滚动条添加到相对布局?

您的问题可能与视口有关,android:fillViewport="true"在 ScrollLayout 上应该可以解决您的问题。

查看您的 xml,您可以使用垂直 LinearLayout 设置此文件,对于此用例来说更简单。

顺便说一句,我的建议是避免在注册、登录等用户输入上使用滚动条...您的表单仅包含 2 个字段,我相信您可以将其安排为一次全部显示在屏幕上(更好的用户体验!)。

于 2013-10-17T11:01:41.463 回答
6

只需将 xml 代码的开头更改为:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent" 
     android:fillViewport="true">

     <RelativeLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="#ffffff" >
于 2013-10-17T10:48:26.593 回答
3

那是因为在 ScrollView 中将 RelativeLayout 的高度设置为 match_parent 没有任何意义。尝试使用 ScrollView 的 fillViewport 属性。将此行添加到您的 ScrollView 元素:

android:fillViewport="true"

我自己没有尝试过。也许它会对你有所帮助。有关更多信息,请查看官方文档此处

于 2013-10-17T10:34:31.490 回答
1
<LinearLayout>
  <ScrollView>
    <RelativeLayout>
      <put your all UI component here />
    </RelativeLayout>
  </ScrollView>
</LinearLayout>
于 2013-10-16T08:02:36.273 回答
0

set elements using

androd:margintTop="+5dp\-5dp"

means + or - value on all side as required

于 2014-03-21T02:59:11.790 回答
-1

请看下面的代码,这可能会有所帮助。根据需要重新排列项目,在使用任何项目的任何属性之前,请先阅读。

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

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#ffffff" >

    <ImageButton
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="140dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="5dp"
        android:layout_weight="0.9"
        android:background="@drawable/ic_launcher"
        android:orientation="vertical" >
    </ImageButton>

    <EditText
        android:id="@+id/editText1"
        android:layout_width="270dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/linearLayout1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:ems="10"
        android:inputType="textEmailAddress" />

    <TextView
        android:id="@+id/bebasNeueTextView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:text="THE EMAIL YOU WILL USE TO GET ALL YOUR APPS CREATED BY THE SOFT"
        android:textColor="#000000"
        android:textSize="7sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/bebasNeueTextView6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bebasNeueTextView2"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:text="YOUR GOOGLE PLAY STORE ORDER NUMBER, IN ORDER TO PROVE YOU BOUG"
        android:textColor="#000000"
        android:textSize="7sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/bebasNeueTextView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bebasNeueTextView6"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:text="ENTER YOUR PLAY STORE ORDER NUMBER"
        android:textColor="#94c23e"
        android:textSize="13sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/bebasNeueTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bebasNeueTextView4"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:text="ENTER YOUR EMAIL"
        android:textColor="#94c23e"
        android:textSize="13sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="270dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bebasNeueTextView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:ems="10" >
    </EditText>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="80dp"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/editText2"
        android:layout_marginTop="5dp"
        android:paddingBottom="5dp" >

        <com.apkcreator.fwd.BebasNeueButton
            android:id="@+id/finishButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:background="#94c23e"
            android:paddingBottom="10dp"
            android:paddingLeft="30dp"
            android:paddingRight="30dp"
            android:paddingTop="10dp"
            android:text="FINISH"
            android:textSize="18sp"
            android:textStyle="bold" />
    </RelativeLayout>
</RelativeLayout>

</ScrollView>
于 2013-10-16T14:38:53.377 回答