WebView之2
首先需要添加權限:
<uses-permission android:name="android.permission.INTERNET"/>
MainActivity:
package com.wyl.webview;import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {WebView webview;ProgressDialog dialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}public void init() {webview = (WebView) findViewById(R.id.webview01);webview.loadUrl("http://www.baidu.com");webview.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;// 用webview打開,}});WebSettings settings = webview.getSettings();settings.setJavaScriptEnabled(true);// 允許jssettings.setCacheMode(settings.LOAD_CACHE_ELSE_NETWORK);// 使用緩存webview.setWebChromeClient(new WebChromeClient() {@Override// 這個方法可以檢測網頁的變化public void onProgressChanged(WebView view, int newProgress) {// newProgress 1-100之間的整數if (newProgress == 100) {// 網頁加載完畢后,關閉進度條progressDialogcloseDialog(newProgress);} else {// 網頁正在加載,打開dialogopenDialog(newProgress);}super.onProgressChanged(view, newProgress);}private void closeDialog(int newProgress) {if (dialog != null && dialog.isShowing()) {dialog.dismiss();// 取消顯示dialog = null;}}private void openDialog(int newProgress) {//if (dialog == null) {dialog = new ProgressDialog(MainActivity.this);dialog.setTitle("我正在努力正在加載。。。");dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);dialog.setProgress(newProgress);// 顯示當前的進度dialog.show();// 展示進度} else {// 如果已經有了dialog,只需要刷新進度就可以dialog.setProgress(newProgress);}}});}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {String url = webview.getUrl();Toast.makeText(MainActivity.this, "返回上一頁,wyl," + url,Toast.LENGTH_SHORT).show();System.out.println("===toast===");if (webview.canGoBack()) {webview.goBack();return true;} else {System.exit(0);// 退出程序}}return super.onKeyDown(keyCode, event);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stub}}
?
轉載于:https://www.cnblogs.com/Sunnor/p/4709158.html
總結
- 上一篇: Java for LeetCode 04
- 下一篇: Bigtable:一个分布式的结构化数据