Android 开发浏览器 多窗口功能
序言:
前阵子开发了一个浏览器的app,其中碰到一个难题,就是浏览器的多窗口。当时搜索了整个百度和google,都没有特别好的解决方案,最后用了一个笨方法实现了这个多窗口的功能。特意写出这篇文章,一来是为了后人碰到这种需求时,起码有一个解决方案。二来是一起学习交流,一起讨论看看还有什么更好的解决方案。
预览图:
实现:
多窗口我采用的是viewpager+fragment的实现方式,在用户点击多窗口时,把整个viewpager缩小。并且加上动画效果
然后给viewpager的List
这样,添加多窗口的工作就全部完成了。
参考demo:https://github.com/Z-bm/Dainty (非本人所写,只是思路是一样的)
思考:
用这样的方式有什么缺点? 缺点是非常明显的,当viewpager的fragment个数过多,会造成很明显的卡顿(因为这个fragment上承载的内容太多)。其次 多窗口的上滑关闭功能只能关闭当前的页面,如果用户想在当前页面,关闭掉右边的页面,是不可以的。 但是目前我也没有找到更好的办法。
最后:
不过我找到一个谷歌浏览器的开源项目,如果你自认为是一个强者,可以点击这里,来下载这个拥有世界级Android架构的项目。里面的多窗口功能做的非常好,但是,我花了数天 实在理不清这个项目。因为开发时间有限只能放弃。如果你理清楚了,也欢迎回来告诉我,我也想知道他里面的多窗口到底怎么实现的哈哈。
最后的最后:
吐槽一下,谷歌浏览器那个项目的代码 真的是人类写的?为什么我一行都看不懂?
标签:
相关文章
-
无相关信息