(急)求教gridlayoutmanager的recyclerview自动滚动到指定位置的问题 5C

此recyclerview头部加了两个headerview一下是尝试的三个方法,
方法一就是会被tab覆盖一点,但是滚动的位置是正确的
方法一加方法二做二次滚动,隔1秒就反弹到第二个header 的位置
方法三的话不会被覆盖,但是滚动位置不准确
设置位置为0就在顶部,1就在第二个header的位置
2就在第二个item的位置,直接过度过第一个item不知道为啥
设置位置3,4和2都是同样的效果

图片说明
图片说明

            if (isReload && mPage == 1 && count > 3) {
                isReload = false;
                try {
                    if (firstVisiblePosition > 0) {//方法一:此方法会被tab覆盖一部分
                        mRecyclerView.smoothScrollToPosition(2);
                    } else {
                        mRecyclerView.smoothScrollToPosition(4);
                    }

// if (mRecyclerView.getLayoutManager() instanceof GridLayoutManager) {//方法三此方法总是多滚动一行
// if (firstVisiblePosition > 0) {
// ((GridLayoutManager) mRecyclerView.getLayoutManager()).scrollToPositionWithOffset(2, (int) (40 * App.mDensity));
// } else {
// ((GridLayoutManager) mRecyclerView.getLayoutManager()).scrollToPositionWithOffset(3, (int) (20 * App.mDensity));
// }
// }
readyMove = true;
} catch (Exception e) {
e.printStackTrace();
}
}

// try {//方法二:由于二次跳转回造成反弹,暂时不管遮住的tab高度部分
// if (newState == RecyclerView.SCROLL_STATE_IDLE && readyMove) {
// readyMove = false;
//
// if (firstVisiblePosition > 0) {
// mRecyclerView.smoothScrollBy(0, -(int) (37 * App.mDensity));
// } else {
// mRecyclerView.smoothScrollBy(0, -(int) (29 * App.mDensity));
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// }

3个回答

recyclerView.smoothScrollToPosition(position);
这个行吗,直接滚动到特定的item

来张效果图啊 还有你要实现什么功能

后来问了我朋友才知道,不是滚动不准,是因为recyclerview夺取焦点产生的回弹问题,在父控件添加request焦点那两个方法就行
mRecyclerView.getLayoutManager()).scrollToPositionWithOffset可以用,很准

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
RecyclerView自动滚动
当RecyclerView内容过多,超出屏幕的时候,需要让它自己滚动展示数据,尤其是某些Android设备处于高处,或是不可被触摸点击的,这样的情况下,让其自己滚动展示数据尤为重要了! 自动滚动的方案有很多种,目前比较常见又最简单的一种是:继承至RecyclerView,并实现runnable方法,每间隔10ms(delayTime)就去执行scrollby(x,y)方法,其中delayTime和...
RecyclerView 自动滚动问题
关于使用BaseRecyclerViewAdapterHelper之后,在RecyclerView中添加header与footer后每次打开此界面,界面会自动上移一定距离,滑动到其他条目,再跳转到其他界面再返回,仍然滑动,其原因是RecyclerView的条目自动获取焦点导致,所以需要在SwipeRefreshLayout 中设置获取焦点,则解决问题<android.support.v4.w...
急!求教自动滚动的表格
给电台做个项目,要求在表格中自动添加记录,整个表格自动向下滚动,表格读取的是数据库的记录,该怎么做?在线等!
RecyclerView使用GridLayoutManager导致间隙变大的问题
我用recyclerView的时候设置LayoutManager为Grid,添加decoration为Grid,作为二级列表时,多次点击一级列表来跳转的时候,两张图之间的间隙在逐渐变大,后来发现是因为多次初始化Adaper的缘故。 mWaresAdapter = new WaresAdapter(getContext(), datas); mRecyclerV
页面如何自动滚动到指定位置
转自:http://www.cnblogs.com/e241138/archive/2012/12/19/2825179.html   如何实现页面加载完成后自动滚动到指定的位置? 例如点击一篇博客,使页面的滚动条自动滚动到评论框所在的位置,这个功能只用一句代码就可以搞定: window.location.hash 例如博客的地址是http://52java.sinaapp.c...
RecyclerView刷新后自动滚动问题
解决方案:RecyclerViewd如果是在Fragment中使用的话, 在布局中设置 android:descendantFocusability="blocksDescendants
RecyclerView抢焦点自动滚动
最近有个项目首页采用的是阿里的vlayout开发的,其中有一个item是横向滚动的recyclerview,发现有个比较诡异的现象,当页面来回切换的时候,列表老是会自动滚动到item是横向RecyclerView处。 通过查看源码以及参考网上的分析,原来这就是所谓的RecyclerView抢夺焦点现象,进而导致界面自动滚动了。解决方法就是在RecyclerView的父布局上增加“ android:...
RecyclerView GridLayoutManager实现复杂的列数变化的布局
遇到复杂的不规则列(即有的行显示的列数多,有的行显示的列数少,并且每列显示的内容页不一样)对于这种需求在recyclerview出来之前的解决方案,要么就是listview中嵌套girdview,要么就直接使用scrollview,勉强可以实现此效果,但是这两种实现都有非常大的缺陷--都不能进行item的复用。 有了recyclerview之后这种需求就迎刃而解了,并且实现这种效果利用recyclerview可以更好的实现MVC的思想,甚至可以根据数据模型动态的更改recyclerview的显示样式。真正
RecyclerView 设置了GridLayoutManager 空白区域点击事件
只要这样设置就好了 recycle_foodl.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (v.getId()!=0){ //发现只有点击了空白处,v.get...
RecyclerView定位到指定位置
UI需求点击列表某个控件需要RecyclerView定位到特定的位置 实现该效果是基于一个前提,目标view需要在屏幕上可见,不可见区域的view马上就会被回收掉了或者放到缓存区域里 核心代码如下 RecyclerView.ViewHolder vh=recyclerView.findViewHolderForAdapterPosition(position);
RecyclerView 滑动到指定位置
可以用 RecyclerView 的layoutManager  调用下边的方法 mLayoutManager.scrollToPositionWithOffset(newActiveViewPosition+1,0) 滑动到的位置 和屏幕顶部 是一齐的 。 mRecyclerView.smoothScrollToPosition(position)
RecyclerView中嵌套RecyclerView导致自动滚动
RecyclerView中嵌套RecyclerView时,在项目中加载八张图或者九张图布局时使用RecyclerView添加,外面大布局使用RecyclerView。或者类似于微信朋友圈。其本质都是内部子控件获得焦点导致滚动布局自动滚动。
RecyclerView滚动到指定位置
滚动到指定位置recyclerView.scrollToPosition(position);平滑滚动到指定位置recyclerView.smoothScrollToPosition(position);注意:如果使用的是旧版本的RecyclerView,可能上述两个方法无效(亲测recyclerview-v7:25.0.1没问题),解决方法请看:http://blog.csdn.net/tyzlm
RecyclerView滑动到指定位置
先看下效果图,有波浪纹的是我点击的~~~: 可以看到,我点击之后,慢慢滑倒顶部了。上面是用的一个 RecyclerView 的控件实现的多种布局。 好了不说废话了,实现比较简单,直接看关键代码吧(不是完整代码,完整代码去下载,下面有链接): //目标项是否在最后一个可见项之后 private boolean mShouldScroll; //记录目标项位置 ...
修改recyclerview指定位置背景色
这是一个瞎写的小说阅读器,通过点击章节列表(recyclerview)中的选项或者其它方式更新正文文本框内容,并且将章节列表中的相应view设置为红色背景(R.color.colorAccent)。holder.chapterName是一个文本框,内容为章节名称;holder.chapterView是holder.chapterName + 一条下划线,基本上算是同一个View因为改变章节的方式并
layui问题之自动滚动二级iframe页面到指定位置
一、问题 前提:用的layui框架 目标:改变iframe页面滚动条位置 问题:没有麻溜溜的滚。。 二、经过 刚开始,以为只要滚动iframe里面的元素就行了,页面所有元素都在section里面,就通过section使滚动条滚动 $('section.layui-larry-box').scrollTop(300); 可想而知,不行 然后,又试了div啥的 最后直接试了包...
RecyclerView滑动到指定位置,并指定位置在顶部
Recycleview滑动到指定位置,并位于屏幕顶部;
自动滚动的RecyclerView(水平和垂直方向)
自动滚动的RecyclerView 所以需要写一个类继承 RecyclerView  代码如下: import android.content.Context; import android.support.annotation.Nullable; import android.support.v7.widget.RecyclerView; import android.util.
关于recyclerview局部刷新,造成自动滚动一截的问题
昨天遇到一个问题,卡了半天,就是recyclerview在刷新某个item中的某个view的时候,造成了其本身自动滚动。 具体表现就是,将recyclerview拉到最下面,刷新的时候,它向上滚了一点,这样给用户的体验就很不好了。 百度到处找找看看的,都说是什么焦点问题,setfocuse...,实际操作起来,并没有什么用。 最后。。。不知道在哪里看到的文章,将布局文件中,recyclerv...
RecyclerView跳转到指定位置,RecyclerView上下滑动监听
1、RecyclerView跳转到指定位置 只需调用recycleview的置顶方法: recyclerView.scrollToPosition(15); 如果你需要让第15item在屏幕居中,只需吧scrollToPosition参数变小即可: 如: recyclerView.scrollToPosition(12);或 recyclerView.scrollToPosition...
Fragment切换页面RecyclerView自动滚动问题
在切换Fragment页面时,发现RecyclerView会自动滚动,解决方法: 在RecyclerView的父控件上加入: android:focusable="true" android:focusableInTouchMode="true"
recyclerview 利用Timer实现自动滚动
有篇文章是listview 利用handler自动滚动到底部在从头开始循环滚动:http://blog.csdn.net/qq_34900897/article/details/78732099 在魅族有问题,滑动到底部就无法跳到顶部:以下用recyclerview实现就没有存在这些问题: public class MainActivity extends AppCompatActivity
Android进阶八:RecyclerView自动滚动
smoothScrollToPosition()在使用RecyclerView的时候,有一些场景需要RecyclerView能自动滑动到指定的item,这种情况可以调用RecyclerView的以下方法来实现:scrollToPosition(int position)smoothScrollToPosition(int position)这两个方法传入需要滑动到的item的position就可以实
recyclerView中GridLayoutManager实现每一行不同布局的问题
标题看起来比较拗口啊,直接上图:项目需求:1.整个页面需要下拉刷新2.整个页面可滑动3.底部数据很多,需要上拉加载更多因为整个页面需要滑动,所以上面两个横条的内容不能写死,而且,两个横条的内容有时候也会不固定,都是从服务端拿的数据,个数不定。所以不能写成如下布局:# LinearLayout    #LinearLayout    #RecyclerView(LinearLayoutManager...
解决RecyclerView GridLayoutManager 设置分割线出现item宽度不等的问题
一、概述 最近研究RecyclerView给GridLayoutManager模式设置分割线的问题,在网上找了一些案例,却都有着item宽度大小不等的问题,以鸿洋大神的这篇http://blog.csdn.net/lmj623565791/article/details/45059587为例,divider的宽度变宽了之后,就明显存在问题,如下图所示: 最右边的宽度明显大于前面两个
RecyclerView 平滑滑动到指定位置
public class MainActivity extends AppCompatActivity implements RecyclerAdapter.OnItemClickListener { private RecyclerView mRecyclerView; private RecyclerAdapter mAdapter; private LinearLay
RecyclerView滑动到指定位置的接口
RecyclerView滑动到指定位置的接口
Android RecyclerView滚动到指定位置
滚动到指定位置 recyclerView.scrollToPosition(position); 平滑滚动到指定位置 recyclerView.smoothScrollToPosition(position);
Android RecyclerView莫名其妙滚动,RecyclerView 点击item时,莫名其妙的自动滚动,
 如果你的RecyclerView 点击某个item时会出现莫名的滚动,当页面可见时,RecyclerView进入莫名的滚动,这个时候你是否会觉得很神奇,自己查找代码也没有做过RecyclerView滚动操作,这个时候你可能会遇到RecyclerView和item抢占焦点导致的问题,我们暂且可以理解为冲突. 好了言归正传,上干货..... 解决的办法有很多,我目前先列举两种解决办法,个人亲测都...
RecyclerView利用GridLayoutManager实现少于span数量时候居中对齐
这里不是直接讲怎么实现GridLayoutManager的居中对齐事情。 原始需求是这样的: 每行显示4个标签,当有超过4个item时左对齐,但当item少于4个时候要居中对齐,并且大小不变间距不变。一下图片: 先要知道public GridLayoutManager(Context context, int spanCount)中spanCount的值一旦设定好了,那么item的大小就确定了
RecyclerView设置背景图片长宽一样(以GridLayoutManager为例)
使用RecyclerView的过程中,由于设置了LayoutManager的关系,控件(的background)往往不能通过指定长宽为match_parent、wrap_content来实现长宽大小相同。
RecyclerView踩坑之输入法弹出数据自动滚动
RecyclerView在使用过程中确实能称之为神器,但也难免会遇到各种问题,接下来就把我今天遇到的问题来记录一下。 背景是建立在IM上的,我们使用环信来做即时通讯。聊天窗口就是使用RecyclerView做的, 先看看效果吧。 其中文本和语音不同的布局,采用的是adapter的getItemViewType决定的,具体的实现在这里就不贴了。 接下来说重点,在点击输入框输入文本时,需要
GridLayoutManager 设置居中对齐问题
最近一直在做RecyclerView下的item布局问题,除了常规的LinearLayout之外,还有比较常用的GridLayoutManager和StaggeredGridLayoutManager,后两种分别是九宫格布局、瀑布布局。本人这次主要适用了GridLayoutManager布局,但是在实现的过程中,发现了item的布局无法居中,每次显示完都会在界面的右边留有很大一部分空白,十分头疼。
RecyclerView常见问题解决方案,RecyclerView嵌套自动滚动,RecyclerView 高度设置wrap_content 无作用等问题
RecyclerView常见问题解决方案,RecyclerView嵌套自动滚动,RecyclerView 高度设置wrap_content 无作用等问题
使用RecyclerView滚动到屏幕指定位置
背景:    需求中有一个详情页添加虚浮锚点条,要求滚动到不同过的cell锚点高亮,点击锚点滚动到指定位置。实现:    监听滚动过程使锚点高亮并不难实现,问题在于点击锚点滚动到指定位置;    但是项目结构使用的listview,自然想到了listview.smoothScrollToPositionFromTop(int pos, int offset);因为在顶部有一个titleBar渐变的...
RecyclerView滚动到指定位置及高度计算
RecyclerView滚动到指定位置及高度计算滚动到指定位置高度计算 滚动到指定位置 由于RecyclerView的布局复用,看不到的item是暂时没有添加到RecyclerView中的,所以要滚动到看不到的item所在位置时,调用smoothScrollToPosition(int position)并不能滚动到目标位置。 实现思路,每次滚动到最后一个可见item之前,循环滚动,直到滚动到目标...
Android RecyclerView:设置指定位置的两种方法
方法一,直接使用当前的manager/* RecyclerView 移动到当前位置, * * @param manager 设置RecyclerView对应的manager * @param n 要跳转的位置 */ public static void MoveToPosition(LinearLayoutManager manager, int
父布局内容状态改变,RecyclerView会自动滚动的问题
问题遇到场景 RecyclerView列表中点击评论或回复使输入框定位到指定位置,当隐藏输入框后RecyclerView会自动滚动 问题查找思路 断点 RecyclerView中的smoothScrollBy方法,查看触发smoothScrollBy的源头,经过断点查看调用栈发现requestChildFocus方法触发,requestChildFocus的愿意见名思意就是RecyclerV...
RecyclerView跳转到指定位置的三种方式
自从android5.0推出RecyclerView以后,RecyclerView越来越受广大程序员的热爱了!大家都知道RecyclerView的出现目的是为了替代listview和ScrollView在列表方面的使用!那么listview和ScrollView的所有功能和方法都应该有的!但是RecyclerView的很多方法,不是封装在RecyclerView中的,当我们在RecyclerView
RecyclerView 列表、网格滑动到指定位置
RecyclerView (GridLayout) 滑动到指定位置 我的 RecyclerView 才不会这么笨! RecyclerView 布局有三类,列表(横竖)、网格、瀑布流( 不规则),让某一个 item 显示在最上方(非最后一项),使用 scrollPosition 将某一个位置设置可见第一项,或者计算显示的 item 距离第一项距离,用 scrollBy 移动过去,常用使用下...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池