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
  • 相关阅读:
    PHP unset销毁变量并释放内存
    编码问题
    编程中关于对时区的理解(语言PHP)
    简单树结构的实现
    设计模式
    Selenium WebDriver +Python讲解
    PS入门基础-魔幻调色
    .NET Core、.NET Standard 、ASP.NET Core 和 .NET Framework 有什么不同?
    电商设计
    NPOI相关学习文档
  • 原文地址:https://www.cnblogs.com/mcxiaobing/p/5907378.html
Copyright © 2011-2022 走看看