WebView的使用

来源:互联网 发布:360浏览器有没有mac版 编辑:程序博客网 时间:2024/05/15 21:50

WebView主要是用来加载一些HTML文本或者说直接加载一个网页。
WebView有时候用的比较多,有时候又不怎么用,为了方便以后查找,所以把一些常用的方法写出来。

import android.annotation.SuppressLint;import android.app.Activity;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.View.OnClickListener;import android.webkit.JavascriptInterface;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.ProgressBar;import android.widget.TextView;import com.aetos.common.Api;@SuppressLint("JavascriptInterface")public class RegistActivity extends Activity{    private WebView webRegist;              //regist web    private WebSettings settings;    private ProgressBar mProgressBar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_regist);        findView();        initView();    }    private void findView(){        mProgressBar = (ProgressBar)findViewById(R.id.register_progress);        webRegist = (WebView)findViewById(R.id.web_regist);    int progress = 10;    Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            // TODO Auto-generated method stub            super.handleMessage(msg);            if(msg.what == 0x001){                mProgressBar.setProgress(progress+=10);            }        }    };    private void initView(){        mProgressBar.setMax(100);        webRegist.setWebViewClient(new WebViewClient(){            @Override            public void onPageStarted(WebView view, String url, Bitmap favicon) {                // TODO Auto-generated method stub                super.onPageStarted(view, url, favicon);//              new Thread(new Runnable() {//                  @Override//                  public void run() {//                      // TODO Auto-generated method stub//                      handler.sendEmptyMessage(0x001);//                  }//              }).start();            }            @Override            public void onPageFinished(WebView view, String url) {                // TODO Auto-generated method stub                super.onPageFinished(view, url);                mProgressBar.setVisibility(View.GONE);            }        });        settings = webRegist.getSettings();        //settings.setDisplayZoomControls(false);       //隐藏webview缩放按钮 API11        settings.setUseWideViewPort(true);              //webView推荐使用窗口        settings.setLoadWithOverviewMode(true);         //webView显示页面模式        settings.setJavaScriptEnabled(true);            //webView设置兼容JavaScript        settings = webRegist.getSettings();        String data = "";           //html格式的字符串         webRegist.loadData(data, "text/html", "UTF-8");     //会出现乱码        webRegist.loadDataWithBaseURL(null, data, "text/html", "GBK", null);    //不会出现乱码        settings.setJavaScriptCanOpenWindowsAutomatically(true);        //      settings.setSupportZoom(true);        settings.setDomStorageEnabled(true);        settings.setAllowFileAccess(true);        settings.setUseWideViewPort(true);        //      settings.setBuiltInZoomControls(true);        settings.setLoadWithOverviewMode(true);        webRegist.requestFocus();        //设置网页内部跳转(app内部网页跳转)        //返回上一个网页:webRegist.goBack        webRegist.setWebViewClient(new WebViewClient()        {            @Override            public boolean shouldOverrideUrlLoading(WebView view, String url)            {                view.loadUrl(url);                return true;            }        });        //      webRegist.loadUrl(Api.SERVER_URL+Api.REGISTER);                 //load web URL        webRegist.addJavascriptInterface(new RequestObject(), "registResult");//该方法主要是为了让JavaScript访问到Android提供的方法,对象    }    //Interface Objects    class RequestObject{        public RequestObject(){        }        //API 17以下 添加注解        @JavascriptInterface        public void RequestResult(String account,String password){            /* 进行登录 */            LoginUtil loginUtil = new LoginUtil(RegistActivity.this);            loginUtil.valLogin(3, account, password, true, false,0);        }    }}
1 0
原创粉丝点击