3***@qq.com
3***@qq.com
  • 发布:2017-06-06 20:09
  • 更新:2017-06-21 15:38
  • 阅读:1432

请问使用预截图这种方式进行webview的转场动画有代码demo吗?

分类:HTML5+

看到文档上说了,解决转场webview动画最流畅的高级技巧,就是使用预截图,可是没有看到关键的代码DEMO,请问有哪位高手可以提供一个代码demo,或者官方能不能把这个实现方法提供一个demo到文档里,使用了预加载webview,还是会有闪屏的发生,希望可以用预截图解决掉

2017-06-06 20:09 负责人:无 分享
已邀请:
渊

- 没有什么可介绍的

只是第一次有效 之后就无效果了

DCloud_heavensoft

DCloud_heavensoft

1.闪屏的问题要解决,根在闪屏的原因,一般是图片太大,二般是css反复重绘界面,三可能是处于显示状态的Webview太多,尽量不使用父子Webview。预截图解决这个问题不是正道。

  1. http://html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewExtraOptions,这个api ,acceleration设为capture,会在准备动画前自动截图。估计也够解决你的问题了。
渊

- 没有什么可介绍的

然而并没有什么卵用。添加acceleration:capture 根本无效
即便 手动 添加 截图 也是第一次有效。
android 6.0 魅族mx6
第一次操作确实是 图片 动画 然而关闭打开的窗口后, 再次 操作 则失效。

//创建 图像 对象  
var bitmapA = new plus.nativeObj.Bitmap();  
var bitmapB = new plus.nativeObj.Bitmap();  
//当前窗口截图A  
var current = plus.webview.currentWebview();  
current.addEventListener('rendered',function(){  
    current.draw(bitmapA);  
});  
//创建窗口并截图B  
var register = plus.webview.create('register.html','register');  
register.addEventListener('rendered',function(){  
    register.draw(bitmapB);  
});  
//窗口切换  
$('#login_btn5').click(function(){  
    register.show('pop-in',300,null,{capture:bitmapB,otherCapture:bitmapA});  
});
  • 3***@qq.com (作者)

    怪不得为什么第一次感觉飘的快,后面还是卡

    2017-06-21 15:55

  • 其实可以使用 plus.nativeObj.View.startAnimation() 但是 没有pop-in 应该有的效果。

    2017-06-21 15:57

  • 而只是简单的 平移切入。 底层 没有动画。

    2017-06-21 15:57

  • Neil_HL

    第一次成功是因为你预创建窗口register,show()可以成功,当你进入第二个页面,返回时register关闭,不存在了,你再进入就无法再进行操作了,尝试下在click时创建窗口(可能效果不是很好),或者register返回时hide()。

    2017-06-21 17:27

  • 回复 Neil_HL:额。 谢谢回答。 但是register返回时 就是 hide()

    2017-06-21 17:29

  • Neil_HL

    你说的操作失败是指什么?

    2017-06-21 17:32

  • 回复 Neil_HL:第一次会以截图的方式运行动画, 之后就直接是窗口了

    2017-06-21 19:45

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