Search code examples
androidandroid-layoutscrollviewandroid-linearlayoutandroid-relativelayout

ScrollView in Relative layout not working, its effecting the layout


I want a scroll view in my activity layout. I tried in many ways, but not getting success. The last two buttons are getting overlapped. I want to add more buttons in active layout. Please give me some suggestions to get rid from this problem.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/cream"
    android:scrollbars="vertical">

  <Button
    android:id="@+id/button7"
    android:layout_width="70dp"
    android:layout_height="50dp"
    android:layout_alignBottom="@+id/Bconfiguration"
    android:layout_toLeftOf="@+id/Bconfiguration"
    android:layout_toStartOf="@+id/Bconfiguration"
    android:background="@drawable/round_button"
    android:gravity="center_vertical|center_horizontal"
    android:textColor="#fff" />

  <Button
    android:id="@+id/button8"
    android:layout_width="70dp"
    android:layout_height="50dp"
    android:layout_alignTop="@+id/Bquestions"
    android:layout_toLeftOf="@+id/Bquestions"
    android:layout_toStartOf="@+id/Bquestions"
    android:background="@drawable/round_button"
    android:gravity="center_vertical|center_horizontal"
    android:textColor="#fff" />

  <Button
    android:id="@+id/button9"
    android:layout_width="70dp"
    android:layout_height="50dp"
    android:layout_alignTop="@+id/Bscenario"
    android:layout_toLeftOf="@+id/Bscenario"
    android:layout_toStartOf="@+id/Bscenario"
    android:background="@drawable/round_button"
    android:gravity="center_vertical|center_horizontal"
    android:textColor="#fff" />

  <Button
    android:id="@+id/button10"
    android:layout_width="70dp"
    android:layout_height="50dp"
    android:layout_alignBottom="@+id/button3"
    android:layout_toLeftOf="@+id/button3"
    android:layout_toStartOf="@+id/button3"
    android:background="@drawable/round_button"
    android:gravity="center_vertical|center_horizontal"
    android:textColor="#fff" />



</RelativeLayout>

Solution

  • first thing where you added scrollview, i thinnk you may tried adding scrollview inside relativelayout and tried to add multiple button where it is not possible because scrollview contains only single direct child try below code and you will get an idea

    <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"
        android:fillViewport="true">
    <RelativeLayout 
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/cream"
        android:scrollbars="vertical">
    
        <Button
            android:id="@+id/button7"
            android:layout_width="70dp"
            android:layout_height="50dp"
            android:layout_alignBottom="@+id/Bconfiguration"
            android:layout_toLeftOf="@+id/Bconfiguration"
            android:layout_toStartOf="@+id/Bconfiguration"
            android:background="@drawable/round_button"
            android:gravity="center_vertical|center_horizontal"
            android:textColor="#fff" />
    
        <Button
            android:id="@+id/button8"
            android:layout_width="70dp"
            android:layout_height="50dp"
            android:layout_alignTop="@+id/Bquestions"
            android:layout_toLeftOf="@+id/Bquestions"
            android:layout_toStartOf="@+id/Bquestions"
            android:background="@drawable/round_button"
            android:gravity="center_vertical|center_horizontal"
            android:textColor="#fff" />
    
        <Button
            android:id="@+id/button9"
            android:layout_width="70dp"
            android:layout_height="50dp"
            android:layout_alignTop="@+id/Bscenario"
            android:layout_toLeftOf="@+id/Bscenario"
            android:layout_toStartOf="@+id/Bscenario"
            android:background="@drawable/round_button"
            android:gravity="center_vertical|center_horizontal"
            android:textColor="#fff" />
    
        <Button
            android:id="@+id/button10"
            android:layout_width="70dp"
            android:layout_height="50dp"
            android:layout_alignBottom="@+id/button3"
            android:layout_toLeftOf="@+id/button3"
            android:layout_toStartOf="@+id/button3"
            android:background="@drawable/round_button"
            android:gravity="center_vertical|center_horizontal"
            android:textColor="#fff" />
    
    
    
    </RelativeLayout>
    </ScrollView>