收藏
回答

cover-view在安卓手机不能遮住canvas的BUG

按照官方文档的说法 :

cover-view   覆盖在原生组件之上的文本视图,可覆盖的原生组件包括mapvideocanvascameralive-playerlive-pusher,只支持嵌套cover-viewcover-image,可在cover-view中使用button

但是我目前使用cover-view 用来遮住canvas,却发下如下问题

cover-view在安卓手机不能遮住canvas,在iOS设备却没问题(可以遮住).

iOS设备系统:ios11,安卓设备系统,Android7.1.1;调试基础库:2.2.5

iOS设备截图:



安卓设备截图(Android 7.1.1系统)




最后一次编辑于  2018-10-08
回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    2018-10-08

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-10-08
    赞同
    回复 8
    • 未来可期。
      未来可期。
      2018-10-08

      出现问题机型:安卓一加三T(基于Android7.1.1系统)    ,  微信版本   6.7.3


      简单代码片段:wechatide://minicode/ANH0A0mG7v31


      2018-10-08
      回复
    • 社区技术运营专员-小柿子
      社区技术运营专员-小柿子
      2018-10-09回复未来可期。

      建议cover-view要在上面,需要把cover-view 延迟显示,就是 <cover-view wx-if="{{}}"> if 从 false 延迟改成 true

      2018-10-09
      2
      回复
    • 未来可期。
      未来可期。
      2018-10-09回复社区技术运营专员-小柿子

      谢谢.  问题已解决  ,

      //解决办法

      //cover-view的显示延迟时间,  大于canvas循环数据时间即可,  比如这里,  只要延迟时间>500就行

      放下 解决后的代码片段    

      wechatide://minicode/Coait2mu7T3t


      2018-10-09
      回复
    • 未来可期。
      未来可期。
      2018-10-09回复未来可期。

      上面的代码片段 有点错误,  这个是正确的  wechatide://minicode/sdlSo2mC7r33,还有一点 文档第13条的bug  是基于自定义组件,  我这块不是自定义组件  所以可以用wx:if延迟来解决

      2018-10-09
      回复
    • 未来可期。
      未来可期。
      2018-10-11回复社区技术运营专员-小柿子

      你好,  这个问题,我想了想,  为什么 iOS设备就不用延迟cover-view , 而Android设备必须让cover-view在  canvas后面 出现才能遮住 呢???

      这个 难道是系统之间的差距?


      2018-10-11
      回复
    查看更多(3)
  • 人鱼泡泡
    人鱼泡泡
    2018-10-19

    感谢楼主~感谢小白~

    同样的问题, 但是我的 cover-view 是 navbar 不能随便做显隐, 模拟了一个假的 navbar , 在切换生成canvas的时候, 加上延迟, 再展示出来, 解决问题了...

    2018-10-19
    赞同
    回复 6
    • 未来可期。
      未来可期。
      2018-10-19

      我的顶部 也是有navbar的, 也是用cover-view做的, 我的做法是   ,在点击navbar的时候(有个网络请求,也就是绘制canvas),先把那navbar隐藏,然后在延迟显示.不过会出现空白闪烁的问题

      你的做法,   模拟了一个假的 navbar , 在切换生成canvas的时候, 加上延迟, 再展示出来

      会出现我说的那种空白闪烁的问题吗?

      2018-10-19
      回复
    • 人鱼泡泡
      人鱼泡泡
      2018-10-19回复未来可期。

      就是先隐藏cover-view那个导航, 然后放了个普通的一样的展示在那里, 两个通过 wx:if 切换展示, 但也有一个短暂的闪烁, 不过找同事好多人都没注意到 [捂脸]

      2018-10-19
      回复
    • 人鱼泡泡
      人鱼泡泡
      2018-10-19

      闪烁不是很明显, 不是那种完全空白的闪烁, 你试一下~

      2018-10-19
      回复
    • 未来可期。
      未来可期。
      2018-10-19回复人鱼泡泡

      我大概知道了,嘿嘿

      2018-10-19
      回复
    • 未来可期。
      未来可期。
      2018-10-19回复人鱼泡泡

      其实吧, 好像   我们这种用法不对, 我看官方的用法是canvas  包裹着cover-view

      即  :

      <canvas>

          <cover-view>

              <cover-image></cover-image>

          </cover-view>

      </canvas>

      2018-10-19
      回复
    查看更多(1)
  • 未来可期。
    未来可期。
    2018-10-08

    把代码片段里面的for循环数组写死.  就不会出现这个问题   例如写成

    wx:for="{{[1,2,3,4,5,7,8,9,10,11,12,13,14]}}"


    2018-10-08
    赞同
    回复