我想要一个屏幕,底部有回收者视图,顶部有另一个水平列表。
但是当我滚动回收者视图时,它不应该在水平列表下面,但它们应该移动,因为它们是一个屏幕的一部分。
有可能吗?我需要协调员布局还是嵌套滚动?
答案 0 :(得分:0)
您需要的只是嵌套RecyclerView
,其中包含一个父级和另一个父级,您需要此CallBack
来处理滑动事件
private final ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
//HERE YOU WILL PERFORM YOUR ACTION FOR SWIPE EVENT i.e CHANGE THE ITEM NO IN RECYCLERVIEW WITH SOMETHING LIKE
// mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1);
}
};
private final ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
}
然后您需要将其附加到RecyclerViews
这样的
itemTouchHelper.attachToRecyclerView(mRecyclerView1);
itemTouchHelper.attachToRecyclerView(mRecyclerView2);
这是您可以同时处理RecyclerViews
的滑动事件的方法
这就是您可以在ViewPager
public void MoveNext(View view) {
//it doesn't matter if you're already in the last item
pager.setCurrentItem(pager.getCurrentItem() + 1);
}
public void MovePrevious(View view) {
//it doesn't matter if you're already in the first item
pager.setCurrentItem(pager.getCurrentItem() - 1);
}
希望这有帮助