1

I am trying to implement horizontal and vertical scrolling for a Recycler view at the same time.I have to show a table of 8 columns, so I plan to implement horizontal and vertical scrolling at the same time.

I tried HorizontalScrollView but it is scrolling horizontally in one row.

list_row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:clickable="true"
android:background="?android:attr/selectableItemBackground"
android:orientation="vertical">

<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
  >
    <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <TextView
    android:id="@+id/title"
    android:textColor="@color/title"
    android:textSize="16dp"
    android:textStyle="bold"
    android:layout_alignParentTop="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
   android:text="aaa"/>

<TextView
    android:id="@+id/genre"
    android:layout_below="@id/title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:text="bbb"/>

<TextView
    android:id="@+id/year"
    android:textColor="@color/year"
    android:layout_width="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:text="ccc"/>
    </LinearLayout>
</HorizontalScrollView>
</RelativeLayout>

is there any way to scroll the list horizontally and vertically by the entire table in the same layout.

Binil Surendran
  • 2,524
  • 6
  • 35
  • 58

3 Answers3

0

You can achieve it by using code like:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true" >
    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true" >
    </HorizontalScrollView>
</ScrollView>

Read already answered question at:

  1. Android -- How to allow horizontal and vertical scrolling
  2. Scrollview vertical and horizontal in android
Community
  • 1
  • 1
ישו אוהב אותך
  • 28,609
  • 11
  • 78
  • 96
0

Put your recyclerView layout to

<android.support.v4.widget.NestedScrollView

it can help you

see this case vertical recyclerView and Horizontal recyclerview scrolling together

0

This should work.

HorizontalScrollView with recyclerView.

Distribute the same layout_width for the recycler_view item layout as well.

        <HorizontalScrollView
            android:id="@+id/horizontalScrollView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/ll_main"
                android:layout_width="wrap_content"
                android:layout_height="match_parent">

                <LinearLayout
                    android:id="@+id/linearLayout"
                    android:layout_width="472sp"
                    android:layout_height="68sp"
                    android:background="@color/main_color"
                    android:orientation="horizontal"
                    android:weightSum="10"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent">


                    <TextView
                        android:id="@+id/textView13"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="2.9"
                        android:fontFamily="@font/inter_medium"
                        android:paddingStart="10sp"
                        android:text="column1"
                        android:textColor="@color/white"
                        android:textSize="14sp" />

                    <TextView
                        android:id="@+id/textView14"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="1.5"
                        android:fontFamily="@font/inter_medium"
                        android:gravity="center"
                        android:text="column2"
                        android:textColor="@color/white"
                        android:textSize="14sp" />

                    <TextView
                        android:id="@+id/textView15"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="1.40"
                        android:fontFamily="@font/inter_medium"
                        android:gravity="center"
                        android:text="column3"
                        android:textColor="@color/white"
                        android:textSize="14sp" />

                    <TextView
                        android:id="@+id/textView16"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="1.40"
                        android:fontFamily="@font/inter_medium"
                        android:gravity="center"
                        android:text="column4"
                        android:textColor="@color/white"
                        android:textSize="14sp" />

                    <TextView
                        android:id="@+id/textView17"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="1.40"
                        android:fontFamily="@font/inter_medium"
                        android:gravity="center"
                        android:text="column5"
                        android:textColor="@color/white"
                        android:textSize="14sp" />

                    <TextView
                        android:id="@+id/textView18"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="1.40"
                        android:fontFamily="@font/inter_medium"
                        android:gravity="center"
                        android:text="column6"
                        android:textColor="@color/white"
                        android:textSize="14sp" />

                </LinearLayout>

                <androidx.recyclerview.widget.RecyclerView
                    android:id="@+id/rvDeliveryConfirmation"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
                    app:layout_constraintEnd_toEndOf="@+id/linearLayout"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@+id/linearLayout"
                    tools:listitem="@layout/item_delivery_confirmation" />


            </androidx.constraintlayout.widget.ConstraintLayout>

        </HorizontalScrollView>

Vishnu Satheesh
  • 541
  • 1
  • 8
  • 11