WebView在加载完成之前显示loading图标
来源:互联网 发布:一整年的算法 编辑:程序博客网 时间:2024/04/30 00:41
1.引入GifView.jar,编写xml文件(为了让loading居中,不得不尝试了很多方法,结果就添加了好几个嵌套的layout才实现,如果有更简洁的方法,请博友告知):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" tools:context="com.doorknocker.MainActivity" android:orientation="vertical" > <LinearLayout android:id="@+id/ll_web_view_container" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/rl_loading" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_horizontal" android:layout_centerVertical="true" > <com.ant.liao.GifView android:id="@+id/gv_loading" android:layout_height="wrap_content" android:layout_width="wrap_content" android:enabled="false" /> </LinearLayout> </RelativeLayout> <WebView android:id="@+id/wv_right_content" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout></LinearLayout>
2.代码:
View rootView = inflater.inflate(R.layout.fragment_right, null);wv_right_content = (WebView) rootView.findViewById(R.id.wv_right_content);gv_loading = (GifView) rootView.findViewById(R.id.gv_loading);rl_loading = (RelativeLayout) rootView.findViewById(R.id.rl_loading);gv_loading.setGifImage(R.drawable.loading_gif);// 得到底部菜单栏高度bottomTabHeight = UIUtils.getBottomTabHeight(mActivity);// WebView的高度是屏幕整体高度减去状态栏高度,再减去顶部菜单条高度,再减去底部Tab高度LinearLayout mLayout = (LinearLayout) rootView.findViewById(R.id.ll_web_view_container);LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);params.height = UIUtils.getScreenHeight(mActivity) - UIUtils.getStatusBarHeight() - bottomTabHeight;mLayout.setLayoutParams(params);WebSettings webSettings = wv_right_content.getSettings();webSettings.setJavaScriptEnabled(true);webSettings.setSupportZoom(true);webSettings.setBuiltInZoomControls(true);//设置Web视图 wv_right_content.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); // 记住当前的URL currentRightUrl = url; // 由当前的WebView处理跳转 return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { rl_loading.setVisibility(View.VISIBLE); wv_right_content.setVisibility(View.GONE); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); rl_loading.setVisibility(View.GONE); wv_right_content.setVisibility(View.VISIBLE); }});return rootView;
0 1
- WebView在加载完成之前显示loading图标
- ajax返回数据之前加载loading图标
- WebView加载完成与显示完成
- 页面还未加载完成显示loading
- 如何实现在页面上所有内容加载完之前一直显示loading...页面?
- WebView加载完成与显示完成的区别
- Android在WebView加载数据时展示loading的Dialog
- 关于webview不显示H5内容,加载完成是空白页
- 监听webview 加载完成
- css3 加载loading图标实现
- tableviewcell里面imageview在下载图片之前显示loading,下载后显示指定图片
- jQuery 中的 Ajax 全局事件 当用户点击页面上某一按钮请求数据时,在页面上显示 loading... ,页面加载完成后隐藏
- Flex中在DataGrid加载数据时显示Loading...
- ionic2中的LoadingController用法。在数据加载完之前显示
- CSS3动画实现loading加载图标
- webView加载进度条显示
- Ajax加载中显示loading
- webView在5.0以上手机加载网页不显示图片
- Windows下安装配置Emacs
- (二)win7 bios打开虚拟化
- XSS攻击及防御
- 移动浏览器css3样式兼容小计-1
- 当android手机背景照片删除后 找回依然存在的背景图片
- WebView在加载完成之前显示loading图标
- 在 Visual Studio 2012 中创建 ASP.Net Web Service
- XML是什么,他可以干什么
- Spring+SpringMVC+Mybatis+Velocity框架集成
- jsonp跨域取值的注意事项
- 一、Display
- LeetCode Count and Say
- ADO:_RecordsetPtr
- iPhone简单实现键盘隐藏