WebView相关总结

来源:互联网 发布:释放内存软件 编辑:程序博客网 时间:2024/06/16 01:02

效果图:
这里写图片描述

public class WebViewActivity extends BaseActivity {    ProgressDialog dialog;    EditText wangZhi;    Button fangWen;    private WebView webView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.web_view_layout);        wangZhi = (EditText) findViewById(R.id.wangZhi);        fangWen = (Button) findViewById(R.id.fangWen);        webView = (WebView) findViewById(R.id.webView);        //启用JAVASCRIPT------------------------------        WebSettings settings = webView.getSettings();        settings.setJavaScriptEnabled(true);        //判断加载进程-------------------------------        webView.setWebChromeClient(new WebChromeClient(){            @Override            public void onProgressChanged(WebView view, int newProgress) {                if(newProgress == 100){                    closeDialog();                }else{                    openDialog(newProgress);                }                super.onProgressChanged(view, newProgress);            }            private void openDialog(int newProgress) {                if(dialog == null){                    dialog = new ProgressDialog(WebViewActivity.this);                    dialog.setTitle("正在拼命加载中......");                    dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);                    dialog.setProgress(newProgress);                    dialog.show();                }else{                    dialog.setProgress(newProgress);                }            }            private void closeDialog() {                dialog.dismiss();            }        });        //设置缓存---------------     webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);        fangWen.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //利用webView打开网页需要重写shouldOverrideUrlLoading方法--------                webView.loadUrl("http://"+wangZhi.getText().toString());                webView.setWebViewClient(new WebViewClient(){                    @Override                    public boolean shouldOverrideUrlLoading(WebView view, String url) {                        view.loadUrl(url);                        return true;                    }                });            }        });    }    //物理返回按键事件--------------    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if(keyCode == KeyEvent.KEYCODE_BACK){            if(webView.canGoBack()){                webView.goBack();                return true;            }else{                System.exit(0);            }        }        return super.onKeyDown(keyCode, event);    }}
0 0
原创粉丝点击