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

WebView 简单使用kongleifeng

2015-10-03 18:26 429 查看
Android 提供了内置的浏览器,该浏览器使用了开源的WebKit引擎。WebKit不仅能够搜索网址、查看电子邮件,而且能够播放视频节目。在Android中要使用内置的浏览器,需要通过WebView组件来实现。WebView组件可以轻松实现显示网页功能。

简单实现WebView浏览网页的功能。

webview有两个方法:setWebChromeClient 和 setWebClient

setWebClient:主要处理解析,渲染网页等浏览器做的事情

setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等

WebViewClient就是帮助WebView处理各种通知、请求事件的。

下面的这个例子:一个界面加载两个webView 。

在AndroidMainfest.xml设置网络访问权限

<uses-permission android:name="android.permission.INTERNET"/>


在activity_main.xml布局文件的代码如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="800px"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/ic_launcher"
tools:context=".MainActivity" >
<ScrollView
android:id="@+id/goods_right_scrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:id="@+id/goods_linearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<WebView
android:id="@+id/webview_parameter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<WebView
android:id="@+id/webview_picturedetail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</ScrollView>
</LinearLayout>


在实现文件中添加如下代码

public class MainActivity extends Activity {

private Context mContext;
private WebView parametreWebView;
private WebView pictureDetailWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

parametreWebView = (WebView)findViewById(R.id.webview_parameter);

pictureDetailWebView = (WebView)findViewById(R.id.webview_picturedetail);
// 下面两个属性 可以任意比例缩放
pictureDetailWebView.setVerticalScrollbarOverlay(true); //指定的垂直滚动条有叠加样式
WebSettings settings = pictureDetailWebView.getSettings();
settings.setUseWideViewPort(true);//设定支持viewport
settings.setLoadWithOverviewMode(true);
settings.setJavaScriptEnabled(true);//加载网页支持JavaScripte
settings.setBuiltInZoomControls(true);// 支持双击webview放大 或者 缩小
settings.setSupportZoom(true);//设定支持缩放 长按webview出现放大和缩小按钮
pictureDetailWebView.setInitialScale(100);// 控制webView的缩放比例显示图片很简单就这一个属性就可以了
//      parametreWebView.setInitialScale(150);
// 加载中delegate处理
pictureDetailWebView.setWebViewClient(new WebViewClient(){

public void onPageStarted(WebView view, String url, android.graphics.Bitmap favicon) {
System.out.println("加载前的准备......");

};
public void onPageFinished(WebView view, String url) {
System.out.println("加载完成......");

};
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
System.out.println("加载失败......");
};

});
// 隐藏首次加载的滚动条  每次加载出现两个滚动条
parametreWebView.setVerticalScrollBarEnabled(false);
pictureDetailWebView.setVerticalScrollBarEnabled(false);
// 缓存模式
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
// 开启存贮功能
settings.setDomStorageEnabled(true);
parametreWebView.loadUrl("http://yx.3.cn/service/info.action?k=g1034425847&u_source=app_worldbuy");
pictureDetailWebView.loadUrl("http://yx.3.cn/service/info.action?k=d981821&skuId=981821&u_source=app_worldbuy");
}
}


运行之后的结果如图



4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: