SwipeRefreshLayout+CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+RecyclerView 刷新,不能滑动等问题
使用SwipeRefreshLayout+CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+Fragment+RecyclerView 实现首页悬浮效果遇到一些问题,做个记录:
首先我的布局结构大概是这样子的:
<SwipeRefreshLayout>
<CoordinatorLayout>
<AppBarLayout> <轮播图/> <首页按钮入口/> <TabLayout/> </AppBarLayout>
<ViewPager/>
</CoordinatorLayout>
</SwipeRefreshLayout>
ViewPager里面当然是Fragment了,Fragment里面是使用RecyclerView(使用的是一个可以加载更多的RecyclerView)
不过这不是重点;
第一个问题:刷新问题冲突,解决是监听AppBarLayout滑动开启关闭SwipeRefreshLayout是否可刷新,
实现以下:
AppBarLayout.OnOffsetChangedListener接口就可以了,这里goTopLayout是我返回顶部按钮显示判断,不用可以忽略;
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (verticalOffset >= 0) {
mSwipRefreshLayout.setEnabled(true);
} else {
mSwipRefreshLayout.setEnabled(false);
}
if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange()) {
goTopLayout.setVisibility(View.VISIBLE);
}else{
goTopLayout.setVisibility(View.GONE);
}
}
第二个问题:滑动到一定距离如何返回顶部:逻辑是先让RecyclerView返回顶部 然后调用AppBarLayout折叠就可以完成返回顶部操作,代码实现如下:
AppBarLayout展开折叠设置:appBarLayout.setExpanded(true,true);
RecyclerView 返回顶部直接mRecyclerView.scrollToPosition(0);
第三个问题:发现折叠+切换Fragment偶尔出现AppBarLayout卡住,无法滑动问题,只有ViewPager的RecyclerView部分可以滑动,后面解决如下:
初始化完成后调用一下代码就可以解决问题
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams();
AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();
behavior.setDragCallback(new AppBarLayout.Behavior.DragCallback() {@Overridepublic boolean canDrag(@NonNull AppBarLayout appBarLayout) {return true;}
});
第四个问题:在RecyclerView属性中加入android:nestedScrollingEnabled="false" 导致高系统版本无法联动,触发事件单一处理AppBarLayout或者RecyclerView,也就是手指滑动RecyclerView就只滑动RecyclerView部分,需要滑动AppBarLayout要手动滑动AppBarLayout部分内容才可以,这个问题是因为对上面属性不了了解导致,本想解决有点卡顿问题,最后加入这一属性查了很久才找到问题。
第五个问题:强行加入第五个问题,就是RecyclerView数据为空时加入EmptyVIew无法滑动问题,EmptyView使用
NestedScrollView包含应该就可以了。
SwipeRefreshLayout+CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+RecyclerView 刷新,不能滑动等问题相关推荐
- SwipeRefreshLayout+CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+RecyclerView 嵌套,最后一项显示全
SwipeRefreshLayout+CoordinatorLayout+AppBarLayout+TabLayout+ViewPager+RecyclerView 嵌套,导致RecyclerView ...
- 小牛的安卓笔记-----底部导航栏的实现以及用TabLayout+ViewPager+Fragment实现页面滑动切换
昨夜西风凋碧树,独上高楼,望尽天涯路. 今天难得有时间,准备写一写我们在APP中经常用到的页面形式,废话不多说,直接一张图看看页面效果你就知道为啥是常用的页面形式.先看看逻辑和最后的效果是怎么样的: ...
- TabLayout+ViewPager实现选项卡动态滑动效果
1. 前提准备 今天回顾了下TabLayout与ViewPager的联合使用,顺便写个demo来加深下理解.首先要明确TabLayout是design下的,并非系统原来的widget下的.所以首先在a ...
- android 页卡切换实现,TabLayout+ViewPager实现选项卡切换效果
原来项目中一直使用tabhost做切换效果,最近在整理代码,决定放弃tabhost,使用google自带的切换布局TabLayout . 其实TabLayout实现切换效果还是蛮简单的,跟tabpag ...
- Android自定义控件之RecyclerView打造万能ViewPager TabLayout(仿今日头条Tab滑动、Tab多布局、indicator蠕动、自定义indicator、文字颜色渐变)
文章目录 GitHub:https://github.com/AnJiaoDe/TabLayoutNiubility 该轮子特异功能如下: 使用方法 注意:该轮子适用于androidx中的ViewPa ...
- Android之解决CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+RecyclerView里面再嵌套RecyclerView滑动颤抖问题
1 问题 主页面用的是这种结构 CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+RecyclerView(里面再嵌套RecyclerVie ...
- android布局高度大于屏幕高度,Android CoordinatorLayout + AppbarLayout + Viewpager布局超过屏幕高度...
当我把Viewpager与CoordinatorLayout + AppbarLayout + Viewpager一起使用时,viewpager超出屏幕大小,请帮我解决.Android Coordin ...
- TabLayout+ViewPager+Fragmet+RecyclerView结合的小demo
前两天想熟悉一下tablayout,所以就弄了个特别简单的tablayout+viewpager+fragmet+recyclerview结合的小demo.虽然特别简单,但还是遇到了不少问题. tab ...
- CoordinatorLayout+AppBarLayout 提供最佳浏览体验
博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此 博主:威威喵 | 博客主页:https://blog.csdn.net/ ...
最新文章
- 一文区分什么是「过拟合」和「欠拟合」?
- Python小白学习之函数装饰器
- android-Activity
- 零基础带你五行代码实现聊天机器人-再这么玩?咱还能做朋友吗?
- java 连接不上hbase_无法远程连接到Hbase
- HBase(五):HBase基本API操作之CRUD
- 1、Canvas的基本用法
- 160 - 44 defiler.1.exe
- 【英语学习】【Level 07】U04 Rest and Relaxation L4 A room fit for a king
- 两个数组各个数相加或相乘变成一个矩阵求第K大
- Android Banner Indicator 轮播图指示器
- 头条App项目测试实战(七)实名认证功能用例设计
- mysql 存储类型文本最大长度longtext
- 让杂牌蓝牙适配器也安装上windows 自带的驱动程序
- 如何有效提升你的研究能力?
- USBTO232的几个问题,乱码,回车无效,驱动安装
- ZXing改横屏识别为竖屏识别
- 不用找了,50个备课网站一网打尽
- /*数电 译码器3-8变4-16
- 全国计算机应用技术证书考试文字处理,全国计算机应用技术证书考试文字处理考试大纲2015年版考试.DOC...
热门文章
- 危机感,你时刻应该有
- 芯片IC附近为什么都放0.1uF的电容?这样做正确吗?有什么依据吗?
- 什么是Arduino
- 个人实践,B450锐龙3600安装原版win7方法
- UVA818解题报告
- 深度学习笔记其七:计算机视觉和PYTORCH
- CASCADE: Contextual Sarcasm Detection in Online Discussion Forums(2018)论文笔记
- 1255B. Fridge Lockers Codeforce题解
- 二、Cent OS 7 下MySQL安装(安装版)
- 1.莫尔斯编码和布莱叶盲文