草庐IT

SnapHelper

全部标签

RecyclerView使用SnapHelper辅助类控制滑动对齐方式

SnapHelper是RecyclerView的辅助类,用于控制在滑动结束后,RecyclerView中item的对齐方式。SnapHelper是一个抽象类,系统内置了两个默认实现类:LinearSnapHelper和PagerSnapHelper。LinearSnapHelper使当前Item居中显示,常用场景是横向的RecyclerView,类似ViewPager效果,但是又可以快速滑动(滑动多页)。而PagerSnapHelper的展示效果和LineSnapHelper是一样的,只是PagerSnapHelper限制一次只能滑动一页,不能快速滑动。SnapHelper通过处理Recycl

android - 使用 SnapHelper 对 RecyclerView 产生不需要的反弹效果

我正在使用带有Horizo​​ntalLinearLayoutManager的RecyclerView。recyclerView.setLayoutManager(newLinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));为了让适配器项目在中心捕捉,我将LinearSnapHelper附加到recyclerview。SnapHelperhelper=newLinearSnapHelper();helper.attachToRecyclerView(recyclerView);现在,我有两种情况需要一个项目居中当

android - 第一个项目中心在 RecyclerView 中的 SnapHelper 中对齐

我在RecyclerView中使用PagerSnapHelper。RecyclerView中屏幕左侧位置的第一项。我需要居中对齐的第一项。LinearLayoutManagerlayoutManager=newLinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false);PagerSnapHelpersnapHelper=newPagerSnapHelper();binding.recyclerView.setOnFlingListener(null);snapHelper.attachToRecycler

android - 带有 SnapHelper 的 RecyclerView,项目在 scrollToPosition 之后不被捕捉

我的Activity中有一个RecyclerView并附加了一个LinearSnapHelper:TimePickerAdaptertimePickerAdapter=newTimePickerAdapter(hours);recyclerView=(RecyclerView)root.findViewById(R.id.recycler_view);finalSnapHelpersnapHelper=newLinearSnapHelper();snapHelper.attachToRecyclerView(recyclerView);问题是,当我最初想滚动到特定项目时,没有触发sna

android - 如何从 RecyclerView 中删除 SnapHelper

我使用attachToRecyclerView(RecyclerView)并且按预期工作。问题:有时候我想让同一个recyclerView正常滚动,如何实现?代码:PagerSnapHelperpagerSnapHelper=newPagerSnapHelper();pagerSnapHelper.attachToRecyclerView(recyclerView); 最佳答案 从recyclerview-v7:25.1.0开始,调用就够了snapHelper.attachToRecyclerView(null);删除SnapHel

android - RecyclerView & SnapHelper -> 获取快照/目标 View

我最近开始使用SupportLibraryv24中提供的SnapHelper来获得一个漂亮的水平RecyclerView,就像在GooglePlay商店。我的问题很简单。通过使用RecyclerView.OnScrollListener我可以在滚动状态为稳定时收到通知(很像ViewPager.OnPageChangedListener。这是很重要,因为当滚动稳定时,我需要为将作为LinearSnapHelper的默认行为居中的View设置动画。该动画显示焦点被带到即将出现的-居中项目。目前,我通过以下行设法获得了当滚动状态为空闲时居中的View:finalintcentered=(ll

java - SnapHelper 项目位置

我正在使用垂直RecyclerView来列出我的项目,并使用SnapHelper来对齐中心项目。这个想法是随机选择,所以用户滑动屏幕或摇动设备,它会滚动到随机位置。项目数是20,但是我使用Integer.MAX_VALUE作为RecyclerView中元素的数量,并使用位置Integer.MAX_VALUE/2初始化RecyclerView创建某种无穷无尽的列表。要在设备摇晃时滚动到随机位置,我需要知道当前捕捉项目的位置。有什么办法吗?这是我的fragment代码:公共(public)类PlaceListFragment扩展fragment{privatestaticfinalStri