原生应用每个页面是一个 Acitvity ,他们之间的跳转可以自定义动画,那么运行于 webview 的 html 页面间的跳转动画是怎么实现的呢? 答案还是用 Acitivity 。 本文实现的页面间跳转具备以
原生应用每个页面是一个Acitvity,他们之间的跳转可以自定义动画,那么运行于webview的html页面间的跳转动画是怎么实现的呢?
答案还是用Acitivity。
本文实现的页面间跳转具备以下功能
1、前进及后退自定义动画
2、后退加载历史页面(保留历史页面的状态)
3、后退并重新加载历史页面(也就是刷新)
4、指定后退到某个页面
接下来说说我怎么实现的
1、创建MainActivity,自己调用自己
Intent intent = new Intent(MainActivity,MainActivity.class);
oncreate 方法里重写动画,并创建webview
overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
webview.loadUrl(“url1”);
setContentView(webview);
2、使用缓存(Map)存储webview,以页面地址作为主键
map.put("url1",webview)
3、后退的时候同样是MainActivity调用自己
Intent intent = new Intent(MainActivity,MainActivity.class);
oncreate 方法里重写动画,从缓存中读取webview
overridePendingTransition(R.anim.push_right_in,R.anim.push_right_out);
webview =map.get("url1");
setContentView(webview);
以上先写点伪代码,感兴趣的可以留言,有空在补充些实例吧。