使用webview打开浏览器

第一种方式

public class MainActivity extends Activity {

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

        // 创建一webview对象
        webView = new WebView(MainActivity.this);
        // 需要加载的网页数据
        webView.loadUrl("http://www.m.baidu.com");
        // 这个activity加载的是一个webview,而不是一个布局文件
        setContentView(webView);
    }

}

第二种方式
1.在布局文件中定义一个webview控件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

2.在代码中控制

public class MainActivity extends Activity implements OnClickListener {

    private TextView fanhui, shuaxin, title;
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        fanhui = (TextView) findViewById(R.id.fanhui);
        shuaxin = (TextView) findViewById(R.id.shuaxin);
        title = (TextView) findViewById(R.id.title);
        webView = (WebView) findViewById(R.id.webview);

        fanhui.setOnClickListener(MainActivity.this);
        shuaxin.setOnClickListener(MainActivity.this);
        title.setOnClickListener(MainActivity.this);

        // 默认是去调用了浏览器来加载页面数据
        webView.loadUrl("http://www.taobao.com");
        // 设置支持js
        webView.getSettings().setJavaScriptEnabled(true);

        // 帮助webview去处理各种通知或者请求事件
        webView.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                webView.loadUrl(url);
                return super.shouldOverrideUrlLoading(view, url);
            }

        });

        // 帮助webview去处理js事件,网站的标题,加载的进度
        webView.setWebChromeClient(new WebChromeClient() {
            public void onReceivedTitle(WebView view, String title) {
                super.onReceivedTitle(view, title);
                MainActivity.this.title.setText(title);
            }

        });

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.fanhui://返回
            if (webView != null && webView.canGoBack()) {
                webView.goBack();
            }
            break;

        case R.id.shuaxin://刷新
            webView.reload();
            break;

        }

    }

    @Override
    public void onBackPressed() {
        if (webView != null && webView.canGoBack()) {
            webView.goBack();
        }else {
            super.onBackPressed();

        }
    }

}

没有更多推荐了,返回首页