您现在的位置:首页 >> 前端 >> 内容

Android实现webview

时间:2017/6/19 9:35:52 点击:

  核心提示:webview是一个很简单的功能,代码没有什么逻辑上的难度,只是需要注意权限上的问题。其实在安卓编程的过程当中,权限问题可以算是出现的比较多的BUG。1.MainActpackage com.lxq....

webview是一个很简单的功能,代码没有什么逻辑上的难度,只是需要注意权限上的问题。其实在安卓编程的过程当中,权限问题可以算是出现的比较多的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设置属性
        WebSettings ws=wv.getSettings();
        ws.setBuiltInZoomControls(true);
        ws.setDefaultZoom(WebSettings.ZoomDensity.FAR);
        ws.setJavaScriptEnabled(true);
        ws.setSupportZoom(true);
        //点击链接继续在当前browser中响应,而不是新开Android系统browser中响应该链接,必须覆盖 webview的WebViewClient对象
        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);     
    }
    //按键监听
    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);
            }
        });
    }

}

2.最重要的是在manifest中添加权限,否则是无法显示的。

Tags:AN ND DR RO 
作者:网络 来源:hzk宝宝的博客