您的位置:首页 > 移动开发

安卓智慧上海学习笔记系列——WebView的使用

2016-09-07 10:13 543 查看
在该项目中点击新闻列表的条目会跳转到一个具体详情的网页,采用WebView来加载网页,而不是使用本地浏览器去加载网页。代码如下:

1、xml文件中添加WebView控件和ProgressBar控件用于在WebView内展现圆形进度条

<FrameLayout 

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical">

<WebView 

   android:id="@+id/web_view"

    android:layout_width="match_parent"

    android:layout_height="match_parent"/>

<ProgressBar

    android:id="@+id/pb_webview"

    android:layout_gravity="center"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"/>

</FrameLayout>

2、java代码中

mWebView = (WebView) findViewById(R.id.web_view);
pbLoading = (ProgressBar) findViewById(R.id.pb_webview);
url = getIntent().getStringExtra("url");
//指定要访问的服务器路径
mWebView.loadUrl(url);
//获取webView的设置
WebSettings settings = mWebView.getSettings();
//显示放大缩小按钮
settings.setBuiltInZoomControls(true);
//只是双击缩放
settings.setUseWideViewPort(true);
//打开js功能
settings.setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
pbLoading.setVisibility(View.VISIBLE);
}

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);//强制在当前页面加载网页 不用跳浏览器
return true; 
}

@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
pbLoading.setVisibility(View.INVISIBLE);
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  WebView
相关文章推荐