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

View的滑动冲突的分析和处理实践

demo源码地址 ---- 目录 常见的滑动冲突场景 滑动冲突的处理规则 滑动冲突的解决方式 实例验证 处理水平滑动和竖直滑动冲突 处理水平滑动、竖直滑动、水平滑动一起出现的情况 ---- 常见的滑动冲突场景...主要的冲突场景有: 外部滑动方向和内部滑动方向不一致 外部滑动方向和内部滑动方向一致 以上两种情况嵌套 如图: 第一个场景 外部滑动方向和内部滑动方向不一致,目前主要出现在: 主页 ViewPager...上面这两种本应该会有滑动冲突的,只是 ViewPager 和 RecyclerView 帮我们处理了而已。...就像现在的 “手机QQ” Android端 的消息栏目, 有上下滑动的消息列表,每一条消息又能左滑删除,消息列表右滑又能拉出用户菜单。...而场景三则是场景一和场景二的混合,直接参考场景一和二的处理规则即可。 ---- 滑动冲突的解决方式 解决方式主要有两种: 外部拦截法 和 内部拦截法。

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

    Android:SwipeRefreshLayout和ViewPager滑动冲突的原因和正确的解决方式

    2017.6.16 修改文章中的一些错误 ##一、前言 急着解决问题的直接看博文的最后面吧,或者点这里跳转过去,正确的解决方式就在那。...SwipeRefreshLayout需要套在ScrollView和ListView上的时候才表现的比较友好,在其他ViewGroup上有点问题,不知道为什么,到时候去看下源码。...Android的事件分发源码分析,告别事件冲突 ————2017.06.16———— 随着版本更新,android的事件分发的机制也原来越完善,老的文章已经不适合了,我已经不知道是我当时写错了还是SwipeRefreshLayout...有目的性的分析,我们只需要分析和事件冲突相关的源码,所以只注释的关键部分。...源码中并没有赋值 // 估计原本用于判断是否正在刷新中,后来用了其他方式判断。

    1.5K10

    IOS开发中滑动页面时NSTimer停止的问题

    我们在做倒计时的时候,发现当你手指按着屏幕不放,拖动tableView滑动的时候,写在cell上得倒计时停止倒计时,松开继续倒计时。研究发现就是拖动tableView滑动时,NSTimer停止了。...currentRunloop]我们可以得到一个当前线程下面对应的runloop对象,不过我们需要注意的是不同的runloop之间消息的通知方式。...的模式下,在这个模式下,是不会处理NSDefaultRunLoopMode 的消息(因为RunLoop Mode不一样),要想在scrollView滚动的同时也接受其它runloop的消息,我们需要改变两者之间的...NSRunLoopCommonModes]; return self; } } return self; } 说到这里,在http异步通信的模块中也有可能碰到这样的问题...,就是在向服务器异步获取图片数据通知主线程刷新tableView中的图片时,在 tableView滚动没有停止或用户手指停留在屏幕上的时候,图片一直不会出来,可能背后也是这个runloop的mode在做怪

    1.8K90

    iOS中Mint Picker滑动时页面跟着滚动的解决方法

    项目在使用饿了么前端团队的 Mint UI 库的 Picker 和 Datetime picker 组件,iOS系统访问时会出现滑动穿透的现象。...主要表现在用手指在弹出层触摸滑动时,页面也跟着滚动,严重影响体验。...解决方法: 1、由于 Picker 组件的滚动是用 touch 事件 + translate 实现的,所以我们可以在 Picker 弹层出现的时候禁止页面的默认滚动机制,Picker 弹层消失时解除禁用页面的默认滚动机制...      this.closeTouch();     }else{       this.openTouch();     }   } }, methods:{   /*解决iphone页面层级相互影响滑动的问题...问题产生的原因是一样的,同样可以用这个思路解决。 参考文档: ios中picker滑动穿透bug

    1.3K20

    SlidingMenu使用详解

    SlidingMenu 是什么 SlidingMenu 是一个强大的侧边栏导航框架,并且已经被一些比较牛的 App 使用 SlidingMenu 的主要特点 (1) 侧边栏可以是一个Layout,包含任何...View,也可以是一个 Fragment (2) 使用简单方便,支持左滑和右滑等 (3) 自定义侧边栏显示动画 SlidingMenu 常用属性介绍: menu.setMode(SlidingMenu.LEFT...);//设置左滑菜单 menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置滑动的屏幕范围,该设置为全屏区域都可以滑动 menu.setShadowDrawable...);//设置滑动的区域 支持右侧划出菜单: //SlidingMenu可以同时支持划出左右两侧的菜单,互不冲突,而且动画优美,体验良好。...); 菜单内侧滑却无法关闭 解决方案:添加如下代码即可解决 menu.setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN); 2.当添加1中代码后菜单中内侧按钮失效

    1.2K30

    iOS开发常用之网络

    LxTabBarController - 改变了原生tabbar切换标签时的生硬效果,并加入滑动切换手势(有和界面上的其它手势发生冲突的风险,可根据具体项目予关闭),swift版本。...ZTPageController - 模仿网易新闻和其他新闻样式做的一个菜单栏,栏中有各自的控制器,其中有4中展示样式'网易风格''搜狐风格''腾讯风格1''网易style2'。...PKRevealController - PKRevealController是一个可以滑动的侧边栏菜单(可向左,向右或者同时向两侧),只需手指轻轻一点(或者按一下按钮,但是这样滑动时不够炫酷),这类控制的其他库...可以当做一个标准控件用在iOS SDK中。 SwiftPages - 高可定制类似Instagram的视图滑动切换功能类.API简单,易用。...Context-Menu.iOS - 可以为应用程序的菜单添加漂亮的动画内容,可自定义图标,并可根据自己的喜好设计单元格和布局。

    23.7K10

    【开源项目】Flutter版 玩安卓

    wanandroid_flutter 玩安卓的flutter版本,非常感谢鸿洋提供的api。 这个项目中常用的widget基本都用到了,没用到的后续也会强行用到的 。...玩安卓 Java版本 玩安卓 小程序版本 github:https://github.com/yechaoa/wanandroid_flutter apk地址 截图 Android IOS...可折叠列表 Wrap 流布局 Chip 标签 TabBar 顶部菜单 Card 卡片 banner 轮播图 Drawer 侧边栏 SliverAppBar 可滑动折叠的AppBar PopupMenuButton...菜单popup Share 分享功能 TextField 输入框 font 自定义字体 provide 状态管理 theme 切换主题 shared_preferences 本地存储 Dismissible...滑动删除 RefreshIndicator 下拉刷新 Stack 重叠布局 Flutter 打包发布 等等 Todo 登录 注册 退出 收藏 分享 搜索 切换主题 添加字体 分页 体系列表点击 界面美化

    1.4K20

    微信小程序实战开发教程-抽屉菜单

    抽屉菜单是app上常见的菜单设计方式,典型的抽屉菜单如下图所示 下面展示如何基于微信小程序实现抽屉菜单,最终效果如下图所示: 页面包含一个主页和抽屉菜单页,为了实现滑动效果,页面采用absolute布局...事件和tap事件,并且使用catchtouchmove阻止了move事件的传递,因为在真机环境下页面会自动响应滑动事件,注意不要catch start和end事件,这会导致无法触发tap事件。...菜单弹出中状态 2:菜单弹入状态中 3:菜单弹出状态 firstTouchX:0, //首次触摸X坐标值 touchCheckX:60, //触发滑动的触摸X moveX:0...,之后根据当前模式来计算主页和菜单页的left值来产生滑动效果 onMainPageTouchmove: function(e) { var data = this.drawerMenuMoveData...3: 由于在真机环境下,页面左滑(初始触摸点在左侧边界时)默认行为是返回上一页或退出小程序(取决与是否是第一级页面), 抽屉菜单会和该行为发生冲突。

    2.8K70

    8.滑动事件处理

    上面是三个viewPager相互嵌套,这么就需要对滑动事件进行处理 首先我们不需要viewpager1滑动,因为每次滑动的时候它的父控件就拦截了它的事件,侧边栏的每次滑的时候就跑了出来,所以这里是这样处理的...(this);//注意:当viewpager和Indicator绑定时, // 滑动监听需要设置给Indicator而不是viewpager mIndicator.setOnPageChangeListener...,因为侧边栏把它的滑动事件拦截了。...右划, 而且是第一个页面, 需要父控件(mainactivity)拦截,菜单就出来了 2. 左划, 而且是最后一个页面, 需要父控件(viewpager2)拦截,会滑动2的下一个页面 * 3....()和getRawX()的区别 getX是获取以widget左上角为坐标原点计算的X轴坐标直. getRawX 获取的是以屏幕左上角为坐标原点计算的X轴坐标直.

    81920

    8.滑动事件处理

    上面是三个viewPager相互嵌套,这么就需要对滑动事件进行处理 首先我们不需要viewpager1滑动,因为每次滑动的时候它的父控件就拦截了它的事件,侧边栏的每次滑的时候就跑了出来,所以这里是这样处理的...(this);//注意:当viewpager和Indicator绑定时, // 滑动监听需要设置给Indicator而不是viewpager mIndicator.setOnPageChangeListener...,因为侧边栏把它的滑动事件拦截了。...右划, 而且是第一个页面, 需要父控件(mainactivity)拦截,菜单就出来了 2. 左划, 而且是最后一个页面, 需要父控件(viewpager2)拦截,会滑动2的下一个页面 * 3....()和getRawX()的区别 getX是获取以widget左上角为坐标原点计算的X轴坐标直. getRawX 获取的是以屏幕左上角为坐标原点计算的X轴坐标直.

    1.1K120

    iPhone手机总是弹出输入ID密码怎么办?

    如果您的iPhone不断要求输入Apple ID密码,请尝试重新启动设备。 如果您使用的是iPhone 8或更旧型号,请按住电源按钮,直到出现滑动来关机。...如果您使用的是iPhone X或更新机型,请同时按住侧边按钮和任一音量按钮,直到出现滑动来关机。...更新iOS版本 如果您的iPhone运行的是比较旧的iOS版本,您也可能遇到这个问题。在这种情况下,建议您更新到最新版本的iOS。进入设置 -> 通用 -> 软件更新并检查是否有可用的iOS更新。...然后,点击菜单顶部FaceTime通话旁边的开关将其关闭。等待几秒钟,然后再次点击开关以打开FaceTime。 FaceTime通话.jpg 5....同时,请不要在移除过程中使用您的设备或启动iTunes。 我希望以上解决方案可以修复iPhone总是提示要输入Apple ID密码的问题。如果您有任何其他问题,请在下面的评论中留言。

    4.7K00

    WEB入门之十八 动画特效

    8.1 滑动动画 滑动动画主要是控制元素的高度在指定时间内从有到无或从无到有,jQuery中实现滑动动画的函数见表8-1-2所示。...3:滑动的横向菜单 训练技能点 Ø jQuery内置动画函数 需求说明 模拟实现一个如图8.2.3所示的横向菜单,当鼠标悬浮到横向菜单上时,其子菜单 淡入显示;当鼠标离开横向菜单时,其子菜单淡出隐藏。...实现步骤 (1) 实现图8.2.3所示的界面,二级子菜单默认隐藏。 (2) 给一级菜单设置hover事件,并在该事件中实现二级子菜单的淡入淡出,参考代码如下所示。...训练技能点 jQuery自定义动画函数 需求说明 图8.2.4和图8.2.5展示了网页侧边菜单,默认是关闭状态,当鼠标悬浮到上面时,侧边菜单就滑出来;当鼠标离开时,侧边菜单就收缩回去。...(侧边菜单是一个图片) 实现步骤 (1)实现图8.2.4所示的界面,侧边菜单默认隐藏 (2)使用animate函数实现侧边菜单的滑动隐藏/显示,参考代码如下所示。

    15410

    基于shinydashboard搭建你的仪表板(二)

    侧边栏简介 侧边栏由菜单项(menu item)和输入项(inputs)组成。菜单项切换不同的界面,输入项决定界面呈现什么内容。...简单理解为:侧边栏(siderbar)就是主体(body)的输入“参数”,用于切换不同的界面和改变界面呈现的内容。...说明 以下所用到的app.R脚本按照标准的shinydashboard代码书写,谨记:侧边栏一般放置输入项以及菜单栏,主体中呈现输出部分,故输入项函数和菜单栏函数写在ui脚本dashboardSiderbar...上图主要实现选择不同参数fill、dodge和stack控制直方图的类型。 sliderInput输入项 滑动条形式选择某个数值,可以设置自动滑动按钮。...上图当滑动滑动条的时候,主体数据没有发生变化,点击“Update Data”按钮之后,主体部门数据发生了相应的变化。 总结 本部分简单介绍常用的几个侧边栏的输入项函数。

    2.6K30

    WEB入门之十八 动画特效

    8.1 滑动动画 滑动动画主要是控制元素的高度在指定时间内从有到无或从无到有,jQuery中实现滑动动画的函数见表8-1-2所示。...3:滑动的横向菜单 ​训练技能点​ Ø jQuery内置动画函数 ​需求说明​ 模拟实现一个如图8.2.3所示的横向菜单,当鼠标悬浮到横向菜单上时,其子菜单 淡入显示;当鼠标离开横向菜单时,其子菜单淡出隐藏...实现步骤​ (1) 实现图8.2.3所示的界面,二级子菜单默认隐藏。 (2) 给一级菜单设置hover事件,并在该事件中实现二级子菜单的淡入淡出,参考代码如下所示。...​训练技能点​ jQuery自定义动画函数 ​需求说明​ 图8.2.4和图8.2.5展示了网页侧边菜单,默认是关闭状态,当鼠标悬浮到上面时,侧边菜单就滑出来;当鼠标离开时,侧边菜单就收缩回去。...(侧边菜单是一个图片) ​实现步骤​ (1)实现图8.2.4所示的界面,侧边菜单默认隐藏 (2)使用animate函数实现侧边菜单的滑动隐藏/显示,参考代码如下所示。

    7610
    领券