как прокручивать два горизонтальных прокрутки бок о бок, если я прокручиваю любой повторный просмотр, оба будут работать как одиночный повторный просмотр - PullRequest
0 голосов
/ 06 августа 2020

, пожалуйста, дайте мне решение, как прокручивать два горизонтальных recyclerviews бок о бок, как прокручивать два горизонтальных scrollviews бок о бок, если я прокручиваю любой recycleview, оба будут работать как single recyclerv ie

    <HorizontalScrollView
                android:id="@+id/nested"
                android:background="@color/Ashh"
  android:fillViewport="true"
            android:measureAllChildren="true"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">
                <androidx.recyclerview.widget.RecyclerView
                    android:layout_width="wrap_content"
                    android:id="@+id/serverlist"
                    android:background="@color/Ashh"
                    android:nestedScrollingEnabled="false"
                    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
                    android:orientation="horizontal"
                    android:layout_height="wrap_content"/>
                    <androidx.recyclerview.widget.RecyclerView
                    android:layout_width="wrap_content"
                    android:id="@+id/locallist"
                    android:background="@color/Ashh"
                        android:nestedScrollingEnabled="false"
                    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
                    android:orientation="horizontal"
                    android:layout_height="wrap_content"/>
                </LinearLayout>
            </HorizontalScrollView>

Ответы [ 3 ]

0 голосов
/ 06 августа 2020

Реализация кода приведенного выше ответа:

your_recycler_view_1.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
        super.onScrollStateChanged(recyclerView, newState);
   
        your_recycler_view_2.scrollToPosition(newState);
    }
});

your_recycler_view_2.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
   
            your_recycler_view_1.scrollToPosition(newState);
        }
    });
0 голосов
/ 06 августа 2020

попробуйте это

 <HorizontalScrollView
    android:id="@+id/nested"

    android:layout_width="match_parent"
    android:fillViewport="true"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:orientation="vertical">

        <android.support.v7.widget.RecyclerView

            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:nestedScrollingEnabled="false"
            android:layout_height="match_parent"
            android:padding="@dimen/item_margin"
      />
        <android.support.v7.widget.RecyclerView

            android:id="@+id/recycler_view2"
            android:layout_width="match_parent"
            android:nestedScrollingEnabled="false"
            android:layout_height="match_parent"
            android:padding="@dimen/item_margin"
         />

    </LinearLayout>
</HorizontalScrollView>

TestActivity. java

import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

public class TestActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_recycler_view);
    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    RecyclerView recycler_view2 = (RecyclerView) findViewById(R.id.recycler_view2);

    
    recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
    recyclerView.setAdapter(new TestAdapter(25,this));

    
    recycler_view2.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
    recycler_view2.setAdapter(new TestAdapter(25,this));

  }
}

Результат

введите описание изображения здесь

0 голосов
/ 06 августа 2020

То, что вы можете попробовать, это

добавить слушателя прокрутки к обоим recyclerviews

внутри каждой получить позицию прокрутки recyclerview и установить его в положение прокрутки других

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...