WebView上显示加载框(5种方案) 原创 精华
没用的喵叔
发布于 2021-7-15 11:30
1.0w浏览
2收藏
目录
方案5的效果图
问题现状
不管WebView在布局中哪个层级,都在最顶层显示。如下布局view_loading
会被webview遮挡。
解决方案有以下几种:
-
用Dialog来显示,但是Dialog的特性,每次都得重新创建Dialog实例。见分支:dev_dialog
-
隐藏WebView,从而可以显示出
view_loading
。这种方案有一个的缺点,当html加载出,但是js或css还没加载完成,WebView还是隐藏的状态。只有所有资源都加载完成后,loadingView才隐藏,WebView才显示。所以,这种方案在感觉上页面加载很慢。但是,优点就是最靠谱。见分支:dev_hide_webview -
创建一个Window,类型指定为
WindowManager.LayoutConfig.MOD_TOAST
来显示。本质上和第一种方法一样。见分支:dev_window -
用Android View来显示,可以调用setVisibility来显示或隐藏。效果最好,但是用到了Android的View元素。可能将来在鸿蒙系统上不再支持。代码见:主分支。参考:简单配置,使用Android API开发鸿蒙应用
-
方案5是对方案4的优化
回答了一个问题,题主顺便也分享了他的最终实现:https://developer.huawei.com/consumer/cn/forum/topic/0202621839353600065
主要代码:
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-7-29 14:16:59修改
赞
4
收藏 2
回复
4
2
2
相关推荐
一个看似简单的问题,却是逃避不开的
已经有三个相关的提问。所以,专门写一个帖子