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

在该项目中点击新闻列表的条目会跳转到一个具体详情的网页,采用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);
}
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值