WebView 简单使用kongleifeng

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");
    }
}

运行之后的结果如图
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值