zoukankan      html  css  js  c++  java
  • Android开发之常用框架WebView详解代码。超详细,送给初学者,完全掌握此控件

    这是我特意为新手小白写的一个代码,教大家完完全全掌握WebView,

    我感觉,你看懂这个,基本上可以满足以后工作中的需要了,(只针对Webview的使用),但是其实它还有好多功能,比如真正的设计到和HTML5交互的时候,它的功能很强大的,如果想深入学习的,自己再看资料吧,保证你看完此代码,完完整整的掌握WebView;

    作者:程序员小冰,深夜来写,转载请说明出处。

    package www.jiusansec.cc.webviewdemo;
    
    import android.app.ProgressDialog;
    import android.graphics.Bitmap;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.View;
    import android.webkit.WebChromeClient;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    /**
     * @author :程序员小冰:QQ986945193
     *
     * @新浪微博 :http://weibo.com/mcxiaobing    
     *
     * @version   V1.0正式版   
     *
     * @process   
     *
     * @Note     
     *
     * @dateTime ${date}${time}
     *
     * ${tags}
     */
    /**
     * WebView Demo练习
     *
     * 加载一个网页
     */
    public class MainActivity extends AppCompatActivity {
        private WebView webView;
        private static final String url = "http://my.csdn.net/qq_21376985";
        private ProgressDialog progressDialog;
    
        /**
         * 初始化控件
         */
        private void assignViews() {
            webView = (WebView) findViewById(R.id.web_view);
            progressDialog = new ProgressDialog(MainActivity.this);
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            assignViews();
    
        }
    
        /**
         * 点击进行跳转
         */
    
        public void showWebview(View view){
            //获取websetings 设置
            WebSettings settings = webView.getSettings();
            settings.setSupportZoom(true);
            //设置浏览器支持javaScript
            settings.setJavaScriptEnabled(true);
            //设置打开自带缩放按钮
            settings.setBuiltInZoomControls(true);
            // 进行跳转用户输入的url地址
           webView.loadUrl(url);
            webView.setWebChromeClient(new WebChromeClient() {
                @Override
                //速度正在改变
                public void onProgressChanged(WebView view, int newProgress) {
                    progressDialog.setMessage("加载" + newProgress);
                    Log.d("1507", "5");
                }
            });
            webView.setWebViewClient(new WebViewClient(){
                @Override
                // 显示读渠道的内容
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    view.loadUrl(url);
                    Log.d("1507", "3");
                    return true;
                }
    
                /**
                 * 页面开始的时候 回调此方法
                 * @param view
                 * @param url
                 * @param favicon
                 */
                @Override
                public void onPageStarted(WebView view, String url, Bitmap favicon) {
                    super.onPageStarted(view, url, favicon);
                    if (progressDialog == null){
                        progressDialog.setMessage("加载中。。。。。。。。。。。");
                    }
                    Log.d("1507","1");
                    progressDialog.show();
                }
    
                /**
                 * 页面结束的时候 回调此方法
                 * @param view
                 * @param url
                 */
                @Override
                public void onPageFinished(WebView view, String url) {
                    progressDialog.dismiss();
    //                Log.d("1507", "1");
                }
            });
        }
    
        /**
         * 返回
         * @param keyCode
         * @param event
         * @return
         */
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            /**
             * webview.canGoBack()判断webview能否后退
             */
            if (keyCode == KeyEvent.KEYCODE_BACK&& webView.canGoBack()){
                //webView后退
                webView.goBack();
            }
    
            return super.onKeyDown(keyCode, event);
        }
    }
    

    源代码下载地址:http://download.csdn.net/detail/qq_21376985/9553009

    程序员小冰博客:http://blog.csdn.net/qq_21376985 技术交流QQ986945193 微博:http://weibo.com/mcxiaobing
  • 相关阅读:
    streamsets 集成 cratedb 测试
    streamsets k8s 部署试用
    streamsets rest api 转换 graphql
    StreamSets sdc rpc 测试
    StreamSets 相关文章
    StreamSets 多线程 Pipelines
    StreamSets SDC RPC Pipelines说明
    StreamSets 管理 SDC Edge上的pipeline
    StreamSets 部署 Pipelines 到 SDC Edge
    StreamSets 设计Edge pipeline
  • 原文地址:https://www.cnblogs.com/mcxiaobing/p/5907378.html
Copyright © 2011-2022 走看看