Android第二十七期 - webView

    自己新建一个项目弄弄吧:

    activity:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
public class School_ggtz extends Activity {
    private WebView webView;
    private String url;
    private ImageView iv_school_title;
    private TextView tv_school_content;
    private ProgressDialog dialog;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_school_xxgk);
        iv_school_title = (ImageView) findViewById(R.id.iv_school_title);
        iv_school_title.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View arg0) {
                finish();
            }
        });
        tv_school_content = (TextView) findViewById(R.id.tv_school_content);
        tv_school_content.setText(getResources().getString(
                R.string.school_ggtz_content));
        webView = (WebView) findViewById(R.id.id_webview);
        url = getResources().getString(R.string.school_ggtz);
        webView.loadUrl(url);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        WebSettings settings = webView.getSettings();
        settings.setSupportZoom(true);
        settings.setBuiltInZoomControls(true);
        settings.setDisplayZoomControls(false); // 隐藏webview缩放按钮
        settings.setUseWideViewPort(true);
        settings.setLoadWithOverviewMode(true);
        settings.setJavaScriptEnabled(true);
        settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
        webView.setWebChromeClient(new WebChromeClient() {
 
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                // TODO Auto-generated method stub
                // newProgress 1-100之间的整数
                if (newProgress == 100) {
                    // 网页加载完毕,关闭ProgressDialog
                    closeDialog();
                else {
                    // 网页正在加载,打开ProgressDialog
                    openDialog(newProgress);
                }
            }
 
            private void closeDialog() {
                // TODO Auto-generated method stub
                if (dialog != null && dialog.isShowing()) {
                    dialog.dismiss();
                    dialog = null;
                }
            }
 
            private void openDialog(int newProgress) {
                // TODO Auto-generated method stub
                if (dialog == null) {
                    dialog = new ProgressDialog(School_ggtz.this);
                    dialog.setTitle("正在加载");
                    dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                    dialog.setProgress(newProgress);
                    dialog.show();
 
                else {
                    dialog.setProgress(newProgress);
                }
 
            }
        });
    }
}

    xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical" >
 
    <include layout="@layout/activity_school_title" />
 
    <WebView
        android:id="@+id/id_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none" />
 
</LinearLayout>

    效果图:PS:可以缩放,并且支持双击Max,支持脚本。

    Android第二十七期 - webView    









本文转自 吴雨声 51CTO博客,原文链接:http://blog.51cto.com/liangxiao/1604052,如需转载请自行联系原作者