Eason
Eason
  • 发布:2016-09-21 09:32
  • 更新:2017-05-20 09:25
  • 阅读:2248

【报BUG】下拉刷新和横向滚动嵌套 Android

分类:MUI
mui

下拉刷新嵌套横向滚动,通过id选择器初始化横向滚动组件。横向滚动在一些android设备上失效,无法滚动,整个屏幕都会被滑动。
ios暂无此问题,出现次问题的手机:小米4

2016-09-21 09:32 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

涉及下拉刷新和横向滚动建议使用5+自带的下拉刷新,不使用mui.ajax封装的下拉刷新,参考这里:
WebviewRefreshStyle

  • Eason (作者)

    因为涉及到多端发布,所以只能采用mui封装的div下拉刷新了。而且在ios上就是div的下拉刷新,嵌套没有任何问题。android上不行。

    2016-09-21 14:29

Eason

Eason (作者)

问题已经解决,不要在5+的双webview下拉刷新中嵌套div的横向滚动。使用mui封装的纵向滚动嵌套横向滚动即可。

  • 新手大白

    你好,具体代码应该是什么样子呢?

    2016-09-28 13:59

  • Eason (作者)

    回复 新手大白: 外层的scroll组件会通过mui.init初始化pullrefresh的时候创建,内层横向滚动需要自己再初始化一下http://dev.dcloud.net.cn/mui/ui/#scroll。我过几天出个文档,里面贴代码。

    2016-09-28 17:03

  • 新手大白

    你有QQ吗?我是新手,想向你多多请教!

    2016-09-28 17:08

  • 回复 Eason:大神,跟你那样说的用mui的横向滚动后初始化,安卓机还是出现全屏横向滚动,请问还需要修改什么么

    2017-04-01 13:41

  • Eason (作者)

    回复 :1、使用mui.init()初始化下拉刷新上拉加载;2、单独初始化横向scroll组件,而不是一次性初始化多个,会把你前面初始化的纵向滚动也变成横向滚动,就会遇到你说的问题了。

    2017-04-10 15:12

  • 回复 Eason:大神,我都分别都初始化了横向滚动的元素结果还是一样

    mui.init({

    swipeBack: true,

    pullRefresh: {

    container: '#all_scroll',

    up: {

    contentrefresh: '正在加载...',

    callback: pullupRefresh

    },

    statusBarBackground: "#1296db"

    });

    横向滚动元素

    mui("#medicine_shop").scroll({

    scrollY: false, //是否竖向滚动

    scrollX: true, //是否横向滚动

    startX: 0, //初始化时滚动至x

    startY: 0, //初始化时滚动至y

    indicators: false, //是否显示滚动条

    deceleration: 0.0006, //阻尼系数,系数越小滑动越灵敏

    bounce: true //是否启用回弹

    })


    横向滚动元素

    mui("#near_doctor").scroll({

    scrollY: false, //是否竖向滚动

    scrollX: true, //是否横向滚动

    startX: 0, //初始化时滚动至x

    startY: 0, //初始化时滚动至y

    indicators: false, //是否显示滚动条

    deceleration: 0.0006, //阻尼系数,系数越小滑动越灵敏

    bounce: true //是否启用回弹

    })

    下面是图

    2017-04-12 22:08

  • 4***@qq.com

    回复 :大哥你这问题解决了没有 解决了贴下代码 谢了

    2017-05-19 17:13

  • 4***@qq.com

    回复 Eason:大神 我单独初始化横向滚动也没用

    2017-05-19 17:14

  • Eason (作者)

    回复 4***@qq.com:牺牲android下拉刷新性能。修改mui.js的源码,将第4925行pullRefresh 5+相关的android代码直接return跳过,将第2780行判断环境代码注释,直接调用div刷新的初始化$container.pullRefresh(pullRefreshOptions);

    2017-05-19 23:28

  • Eason (作者)

    回复 4***@qq.com: 这个是我半年前写的了,具体行数可能有变化,思想不变

    2017-05-19 23:29

  • 4***@qq.com

    回复 Eason:进行以上步骤后 下拉刷新界面提示文字和旋转光标消失了

    2017-05-20 09:45

  • 8***@qq.com

    大佬,我也遇到安卓的原生下拉刷新和横向滚动冲突了, 导致横向滚动导致整个页面都跟着偏移横向滚动了。请问该怎么处理。急求

    2017-09-09 09:13

卓

  • 8***@qq.com

    请问你这个问题解决了嘛

    2017-09-09 09:09

  • 8***@qq.com

    我也遇到相同的问题

    2017-09-09 09:10

4***@qq.com
  • 4***@qq.com

    上一处是JS本身已经存在 下面是手动注释部分 注释掉后下拉刷新提示文字和旋转光标不见

    2017-05-20 09:42

该问题目前已经被锁定, 无法添加新回复