zoukankan      html  css  js  c++  java
  • WebView个人总结

    1、添加上网权限:<uses-permission android:name="android.permission.INTERNET" />

    2、设置webview

     1 WebView webView;
     2 WebSettings ws;
     3 
     4 
     5 ws = webView.getSettings();
     6 ws.setAppCacheEnabled(true);// 设置启动缓存
     7 ws.setAppCacheMaxSize(1024 * 10);// 设置最大缓存
     8 ws.setSupportZoom(true);// 设置成拖动放大缩小
     9 ws.setBuiltInZoomControls(true);
    10 ws.setCacheMode(WebSettings.LOAD_NO_CACHE);// 设置缓存模式
    11 // 设置支持Javascript
    12 webView.getSettings().setJavaScriptEnabled(true);
    13 webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    14 
    15 // 缓存,离线应用
    16 webView.getSettings().setAppCacheEnabled(true);
    17 webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
    18 webView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);

    3、获取网页对话框

    webView.setWebChromeClient(new WebChromeClient() {
    
    @Override
    public boolean onJsAlert(WebView view, String url, String message,
    final JsResult result) {
    // TODO Auto-generated method stub
    // 构建一个Builder来显示网页中的对话框
    Builder builder = new Builder(context);
    builder.setTitle("警告");
    builder.setMessage(message);
    builder.setPositiveButton(android.R.string.ok,
    new AlertDialog.OnClickListener() {
    public void onClick(DialogInterface dialog,
    int which) {
    // 点击确定按钮之后,继续执行网页中的操作
    result.confirm();
    }
    });
    builder.setCancelable(false);
    builder.create();
    builder.show();
    return true;
    }
    
    @Override
    public boolean onJsConfirm(WebView view, String url,
    String message, final JsResult result) {
    // TODO Auto-generated method stub
    Builder builder = new Builder(context);
    builder.setTitle("confirm");
    builder.setMessage(message);
    builder.setPositiveButton(android.R.string.ok,
    new AlertDialog.OnClickListener() {
    public void onClick(DialogInterface dialog,
    int which) {
    result.confirm();
    }
    });
    builder.setNegativeButton(android.R.string.cancel,
    new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog,
    int which) {
    result.cancel();
    }
    });
    builder.setCancelable(false);
    builder.create();
    builder.show();
    return true;
    }
    
    @Override
    public void onProgressChanged(WebView view, int newProgress) {// 加载进度
    // TODO Auto-generated method stub
    super.onProgressChanged(view, newProgress);
    }
    
    });

    4、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。
      给WebView添加一个事件监听对象(WebViewClient)

    5、webview取得焦点

    webView.setOnTouchListener(new OnTouchListener() {
    
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub
    
    webView.requestFocus();
    return false;
    }
    });

    6、提示加载对话框

    pd=ProgressDialog.show(context, "请稍后", "正在加载中...");

      当网页加载完成后,调用pd.dismiss();

  • 相关阅读:
    eclipse设置字体大小
    如何利用服务器下发的Cookie实现基于此Cookie的会话保持
    Docker学习笔记_安装和使用Python
    Docker学习笔记_安装和使用mysql
    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/images/json: dial unix /var/run/docker.sock: conne
    Ubuntu18.04创建新的系统用户
    Docker学习笔记_安装和使用nginx
    Docker安装和使用Tomcat
    虚拟机ubuntu18.04设置静态IP
    我学习参考的网址
  • 原文地址:https://www.cnblogs.com/etgyd/p/2527807.html
Copyright © 2011-2022 走看看