首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android中控制和禁止ScrollView自动动到底部方法

一、Android 控制ScrollView滚动到底部 在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等, 这里有两种办法,第一种,使用scrollTo(): public...第一种实现相对比较麻烦,更推荐使用第二种方式,使用fullScrol() 下面我们看一下这个函数: scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部...Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_DOWN); } }); 二、禁止ScrollView自动动到底部...但有的时候能我们又需要禁止ScrollView自动动到底部,以下是解决方法: 具体表现 ScrollView 嵌套 GridView 、ListView等类似的控件时,当从网络上获取数据时刷新界面,...此事发生情况是: ScrollView 自动滑到屏幕最低端,具体来说时滑动展示数据最后一条位置,如果此时进行下拉刷新,也会出现布局显示不合理状况。

3.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

RecyclerView预加载!

监听列表滚动状态 第一个想到方案是监听列表滚动状态,当列表快滚动到底部时执行预加载,RecyclerView.OnScrollListener提供了两个回调: public class RecyclerView...,实时检测列表中最后一个可见表项索引 和 预加载阈值 是否相等,若相等则表示列表快滚动到底部了,则触发预加载回调。...就测出 bug:当快速滚动列表时onPreload()没有执行,当慢慢滚动列表时onPrelaod()执行多次。...唯一需要担心是,列表动到底部触发了一次预加载后,又往回滚动(阈值位表项滚出屏幕),假设预加载迟迟没有完成,此时再次滚动到底部,移出屏幕阈值位表项需要重新执行`onBindViewHolder(),...再触发一次预加载。

2.4K00

ItemTouchHelper 实现交互动画

在onMove方法中处理拖拽回调逻辑,那么什么时候被调用?当Item被拖拽排序移动到另一个Item位置时候被调用。在onSwiped方法当Item被滑动删除到不见中处理被删除后逻辑。...* 动作标识分:dragFlags和swipeFlags * dragFlags:列表滚动方向动作标识(如竖直列表就是上和下,水平列表就是左和右) * wipeFlags...11.RecyclerView上拉加载 添加recyclerView滑动事件,上拉加载分页数据,设置上拉加载底部footer布局,显示和隐藏footer布局 12.RecyclerView缓存原理...控件滑动到顶部和底部 02.RecyclerView嵌套RecyclerView 条目自动Bug 03.ScrollView嵌套RecyclerView滑动冲突 04.ViewPager嵌套水平RecyclerView...横向滑动到底后不滑动ViewPager 05.RecyclerView嵌套RecyclerView滑动冲突问题 06.RecyclerView使用Glide加载图片导致图片错乱问题解决 24.ScrollView

3.8K20

Android ScrollView粘性头部代码分享

前言,一天在点外卖时候,注意到饿了么列表滑动效果不错,但是觉得其中手势滑动还是挺复杂,正好又碰到了在熟悉Touch事件理解当中,所以就抽空对着饿了么列表页面尝试写写这个效果 1.先贴一个实现效果图...逻辑是当外部ScrollView没有滑到底部时候,往上滑动时候,是滑动外部ScrollView,当外部ScrollView到达底部时候,我们再网上滑,就是滑动内部列表了,另外在左右滑动时候...如下是仿饿了么列表效果图: ?...的话,那么直接设置列表进来也可以,总之,你想滑动到哪个位置接下来滑动就是单纯下面的部分滑动,那你就把下面的View整体设置为mContentView。...另外在这里ScrollViewWithStickHeader增加autoscroll属性,默认是关闭,如果autoscroll:true的话,在我们手指放开时候,contentView判断是否自动动到顶部还是隐藏不见

1.4K20

仿电商商品分类思路实现

实现思路 这个页面用了两个并排列表,右边列表每个item都有一个type对应左边列表item每一个type,右边列表在滑动时候,左边列表选择也跟着变化,在右边列表一直往上滑或是往下滑时候...,左边列表item对应type并没有显示在界面的话,我们还需要左边列表进行一个滚动到对应item位置上,知道思路了,然后我们开始敲代码 布局代码实现 1、 主布局是两个列表,这两个列表我通过LineaLayout...如果左边列表只显示10个类型,右边列表已经滑动到第11个item了,那左边列表因为被隐藏而看不到效果,这时候,我们需要去滚动左边列表 判断处理: ①、如果左边列表第一个itemposition...到对应位置 滑动到底部处理: 因为我只判断右边第一个item出现来设置左边position,如果右边列表type过于拥挤的话,滑动到底部时候,左边列表并不会选中到最后一个item,这时候,我们需要判断...,如果右边列表动到底部的话,则设置左边选中position为数据集合长度减1 实现代码 /** * 右边滑动监听事件 */ rightRecycle.setOnScrollChangeListener

1.5K20

RecyclerView各种版本兼容问题处理集锦

2、在23.2.0之前版本上,RecyclerView默认充满整个屏幕下方,即使在布局文件中将其高度设置为wrap_content,循环视图依旧霸气地填充到屏幕底部,导致在它后面的其它视图都显示不了了...该问题已明确是RecyclerView兼容包bug,Android官方在23.2.0及其之后版本已经修复了,所以如果代码中有用到RecyclerView,需确保build.gradle中recyclerview-v7...3、当循环视图列表项已经占满整个屏幕,此时再往顶部添加一条新记录,感觉屏幕没有发生变化,也没看到插入动画。实际上视图顶部确实有添加新记录,把列表项往下拉就能看到,只是循环视图不会自动进行下拉。...要解决这个问题,得在notifyItemInserted方法调用之后,再调用循环视图对象scrollToPosition(0)方法,表示滚动到第一条记录。...4、Android5.0之后如果使用ScrollView嵌套RecyclerView,那么RecyclerView将只显示第一行,后面部分要滑动才会出现,但此时滑动只有RecyclerView部分而不是整个

2.5K20

Jetpack新成员,Paging3从吐槽到真香

是的,不要想着去监听列表滑动事件,滑动到底部时候发起一个网络请求加载下一页数据。Paging 3完全不是这么用,如果你还保留着这种过去实现思路,在学习Paging 3时候很受阻。...可以看到,GitHub上Android相关开源库已经成功显示出来了。并且你可以不断往下滑,Paging 3自动加载更多数据,仿佛让你永远也滑不到头一样。...因为Paging 3会在列表还远没有滑动到底部时候就提前加载更多数据(这是默认属性,可配置),从而产生一种好像永远滑不到头感觉。...然而凡事总有意外,比如说当前网速不太好,虽然Paging 3提前加载下一页数据,但是当滑动到列表底部时候,服务器响应数据可能还没有返回,这个时候就应该在底部显示一个正在加载状态。...这样我们就把底部显示加载状态功能完成了,现在来测试一下吧,效果如下图所示。 ? 可以看到,首先我在设备上开启了飞行模式,这样当滑动到列表底部时就会显示重试按钮。

2.4K20

Android魔术系列:一步步实现滑动折叠列表

Adapter 列表是通过RecyclerView来实现,所以我们先实现Adapter。代码也比较简单,我们挑重点说。...这里之所以再加上10像素,是因为如果设置高度正好是余下高度,当快速滑动到底部时候有几率会出现问题,所以这里让高度略大于实际展示高度。...这是因为快速滑动造成某些item处于中间状态,做这一步操作就是校正快速滑动导致一些问题。 上面我们提到过,所有的item都初始化成收缩状态了。...所以我们还需要实现一个回弹效果,当滑动停止时候,让列表自动调整到某一个item正好置顶状态。...如果滑动结束,判断顶部显示item偏移,根据偏移大小选择回弹方向。如果偏移很小(第一个item大部分内容显示出来了),则下至第一个item置顶状态;否则上至第二个item置顶状态。

90310

仿触手直播首页切换效果

另一种是SlideRecyclerView滑动到底部,此时如果往下滑时候,也需要禁掉外层RecyclerView滑动。...因为在SlideRecyclerView滑动监听里面是无法监听到如果滑动到顶部时继续往下滑和滑动到底部时继续往上滑操作,因此这里就通过ontouch坐标该变量来是否打开外层RecyclerView...这里涉及到了三种情况: (1)SlideRecyclerView滑动到顶部时候,继续往下滑时候,需要打开外层RecyclerView滑动 (2)SlideRecyclerView滑动到底部时候,...继续往上滑时候,需要打开外层RecyclerView滑动 (3)SlideRecyclerView滑动到中间某一个位置时候,不管往上滑还是往下滑需要禁掉外层RecyclerView滑动 核心代码就这么多了...RecyclerView滑动;当item滑动到底部时,若再继续往上滑打开外层RecyclerView滑动,若再继续往下滑禁掉外层RecyclerView滑动。

54220

智能下拉刷新框架-SmartRefreshLayout

特点 这时你问:网上其他开源下拉控件一样可以自定义 Header 和 Footer ,SmartRefreshLayout 和它们比起来有什么优势?...变换方式 Translate 平行移动 特点: 最常见,HeaderView高度不会改变, Scale 拉伸形变 特点:在下拉和上弹(HeaderView高度改变)时候,自动触发OnDraw事件 FixedFront...我们注意看右边图,仔细观察手指触摸位置和下拉效果。可以看到在列表已经滚动到中部时,轻微下拉列表是不会触发刷新,但是如果是触摸固定布局,则可以触发下拉。...支持自动刷新、自动上拉加载(自动检测列表动到底部,而不用手动上拉). 支持通用刷新监听器 OnRefreshListener 和更详细滚动监听 OnMultiPurposeListener....boolean 是否监听列表动到底部时触发加载事件 setDisableContentWhenRefresh boolean 是否在刷新时候禁止内容一切手势操作(默认false) setDisableContentWhenLoading

3.5K50

手把手教你打造RecyclerView滚动特效

列表滑动效果 这是我用简书Markdown代码块语法实现仿RecyclerView列表效果,基于这个效果我想到将侧边栏滑块和RecyclerViewItem结合起来,与动画process变量相关联...100% 通过右侧小滑块底部与Item顶部之间距离占两个Item高度百分比作为process值: ?...得到了上一步滑动与process关系,接下来我们来计算一下滑块底部RecyclerView可见范围顶部距离。...按照实现RecyclerView套路一步步实现最基本列表效果,然后将动画与滚动监听关系放入Adapter中。...当RecyclerView滑动太快时,单位滚动距离内,滚动监听事件触发频率较低,导致有些Item动画进度未达到100%便从屏幕中消失,从而存在重新滚动到那个Item时,Item动画停留在1%~99%

2.4K10

Android仿微信朋友圈点击评论自动定位到相关行功能

打开你微信朋友圈,点击评论,你就会发现有一个小细节:文本输入框高度恰好定位到这条信息底部位置 ?...列表滚动 输入框也有了,这时候就差滚动了。我们可以通过smoothScrollBy来让RecyclerView按X或者Y轴进行滚动。那我们这里到底应该滚动多少距离才对呢?,咱们来计算一下吧 ?...图中红色部分为键盘展现之前某条信息评论区所在位置;蓝色部分为键盘,当键盘打开时候,我们需要将红色部分移动到黄色位置。...但是还有几个小问题,如果是点击最后一行的话,因为滚动空间不足而不能实现相同效果,并且按返回键时候,键盘先消失,然后再按一次之后Dialog才消失。...总结 以上所述是小编给大家介绍Android仿微信朋友圈点击评论自动定位到相关行功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编及时回复大家

1.5K60
领券