webview是一個(gè)很簡(jiǎn)單的功能,代碼沒有什么邏輯上的難度,只是需要注意權(quán)限上的問題。其實(shí)在安卓編程的過程當(dāng)中,權(quán)限問題可以算是出現(xiàn)的比較多的BUG。
1.MainAct
package com.lxq.webview01; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { private EditText et_url; private Button btn_request; private WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initSetting(); initEvent(); } private void initSetting() { //webview設(shè)置屬性 WebSettings ws=wv.getSettings(); ws.setBuiltInZoomControls(true); ws.setDefaultZoom(WebSettings.ZoomDensity.FAR); ws.setJavaScriptEnabled(true); ws.setSupportZoom(true); //點(diǎn)擊鏈接繼續(xù)在當(dāng)前browser中響應(yīng),而不是新開Android的系統(tǒng)browser中響應(yīng)該鏈接,必須覆蓋 webview的WebViewClient對(duì)象 wv.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); } //初始化控件 private void initView() { et_url =(EditText)findViewById(R.id.et_url); btn_request = (Button)findViewById(R.id.btn_request); wv= (WebView)findViewById(R.id.wv); } //按鍵監(jiān)聽 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()) { wv.goBack(); return true; } return super.onKeyDown(keyCode, event); } //初始化事件 private void initEvent() { btn_request.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String url=et_url.getText().toString().trim(); wv.loadUrl(url); } }); } }