WebView添加进度条
2013-06-26 21:57
295 查看
标准的XML界面
上面声明了两个控件,一个是progressBar 一个是 webview,progressbar用来显示webview控件的加载进度的
值得注意的是我们重写的progressdrawable这个属性,把原来难看的加载条,稍稍美化了一些,下面就是xml代码:
下面是Activity的java代码:
关键地方是重写了一个webchromeclient中的onprogressChange方法,这样我们就能控制progress的进度啦,是不是很方便的,京东也是这么干的哦,快去试一试吧
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ProgressBar android:id="@+id/pb" style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent" android:layout_height="8dip" android:indeterminateOnly="false" android:max="100" android:progressDrawable="@drawable/progress_bar_states" > </ProgressBar> <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
上面声明了两个控件,一个是progressBar 一个是 webview,progressbar用来显示webview控件的加载进度的
值得注意的是我们重写的progressdrawable这个属性,把原来难看的加载条,稍稍美化了一些,下面就是xml代码:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <gradient android:startColor="#ff0000" android:centerColor="#ffa600" android:endColor="#ff5500" /> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <gradient android:startColor="#234" android:centerColor="#234" android:endColor="#a24" /> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape> <gradient android:startColor="#33000001" android:centerColor="#40000000" android:endColor="#44000000" /> </shape> </clip> </item> </layer-list>
下面是Activity的java代码:
ProgressBar pb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.xxx); pb = (ProgressBar) findViewById(R.id.pb); pb.setMax(100); WebView webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setSupportZoom(true); webView.getSettings().setBuiltInZoomControls(true); webView.setWebChromeClient(new WebViewClient() ); webView.loadUrl("http://www.x.com"); } private class WebViewClient extends WebChromeClient { @Override public void onProgressChanged(WebView view, int newProgress) { pb.setProgress(newProgress); if(newProgress==100){ pb.setVisibility(View.GONE); } super.onProgressChanged(view, newProgress); } }
关键地方是重写了一个webchromeclient中的onprogressChange方法,这样我们就能控制progress的进度啦,是不是很方便的,京东也是这么干的哦,快去试一试吧
相关文章推荐
- iOS WKWebView添加进度条02
- WebView的使用及添加进度条
- Android WebView 加载网页添加进度条
- webview添加网页加载进度条
- 给WebView添加漂亮的加载进度条
- 为android的webview添加进度条
- Android webview如何上传文件和添加进度条
- Android Webview添加网页加载进度条实例详解
- 安卓学习笔记--- 给WebView添加漂亮的加载进度条
- WebView添加进度条
- iOS WKWebView添加网页加载进度条
- iOS WKWebView添加网页加载进度条(转)
- 给WebView添加漂亮的加载进度条
- 设置添加小程序web-view业务域名——小程序web-view高级用法1
- webview加载网页的时候在标题栏上显示加载进度
- webview加载时候弹出进度条
- webview包括前进、后退、刷新以及水平进度条
- iOS WebView进度条
- 基于WebView的封装,支持原生和腾讯X5内核切换,支持下拉刷新和进度显示并且做了兼容判断
- cocos2dx添加android的webView cocos2d-x在iOS Android添加WebView