10

I have a relative layout in which i want to add a scrollView, the problem is when ever i add the scroll view, all of my relatively set widgets lost their places, i have tried each and every possibility but i am unable to set the scroll view properly, can anybody help me in that? I want to put the scroll view to all of my elements of the xml file.

NEW CODE:

<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>
6
  • Where do you want to insert your scroll view? Commented Oct 16, 2013 at 7:58
  • put scrollview above of realtive layout and then paste the xml code. Commented Oct 16, 2013 at 7:58
  • simply put a ScrollView as your parent Layout Commented Oct 16, 2013 at 9:02
  • no use, i have put the scroll view as parent layout but still its not working Commented Oct 16, 2013 at 9:18
  • 1
    i have edited my code now, i have added the scroll view to it, the problem is that my relative layout which is just after the scroll view is not getting any hieght equall to fill parent Commented Oct 16, 2013 at 9:19

6 Answers 6

8

Check this link: How to add scroll bar to the Relative Layout?

Your problem may be related with the viewport, android:fillViewport="true" on the ScrollLayout should solve your problem.

Viewing your xml, You can set this file using a vertical LinearLayout, much more simple for this use case.

BTW, my advise is to avoid scrollbars on user inputs like registration, login... Your form only contains 2 fields, I'm sure you can arrange it to be all shown on screen at once (much better UX!).

Sign up to request clarification or add additional context in comments.

1 Comment

Please mark my question as usefull as this will help many people
6

Just change the beginning of your xml code to:

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

Comments

3

That's because setting height of RelativeLayout to match_parent inside ScrollView doesn't make any sense. Try using fillViewport property of ScrolView. Add this line to your ScrollView element :

android:fillViewport="true"

I haven't tried it myself.Maybe it will help you.For more info look at official documentation and here.

Comments

1
<LinearLayout>
  <ScrollView>
    <RelativeLayout>
      <put your all UI component here />
    </RelativeLayout>
  </ScrollView>
</LinearLayout>

4 Comments

no use, i have edited my code and see how i have tried to put the scroll view, the height of my relative layout is not setting to fill parent
Did you use ScrollView as root component ?
In my exactly same case, I always put LinearLayout as root, and a ScrolView(height wrap_content), and a RelativeLayout(height wrap_content). Not sure of it could help your case, FYR......
let me try some different approach, by the way thanks for the help dude
0

set elements using

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

means + or - value on all side as required

Comments

-1

Please look at the code below, this might help. Rearrange the items as you want and before using any property of any item please give it a read.

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.