混合式开发收藏本版 +发表新主题

腾讯TBS X5 WebView的简单使用

1、布局文件:
  1. <LinearLayout

  2.         android:layout_width="match_parent"
  3.         android:layout_height="match_parent"
  4.         android:background="@color/white"
  5.         android:orientation="vertical">
  6.         <com.xinggui.wz.chuangjiaoplatform.view.MyCustomViewTitleLayout
  7.             android:id="@+id/custom1_webview"
  8.             android:layout_height="wrap_content"
  9.             android:layout_width="wrap_content"/>
  10.             <ProgressBar
  11.                 android:id="@+id/progressBar1"
  12.                 style="?android:attr/progressBarStyleHorizontal"
  13.                 android:layout_width="match_parent"
  14.                 android:layout_height="3dp"
  15.                 android:progressDrawable="@drawable/progressbar"
  16.                 android:visibility="gone"/>
  17.             <com.tencent.smtt.sdk.WebView
  18.                 android:id="@+id/webview"
  19.                 android:layout_width="match_parent"
  20.                 android:layout_height="match_parent"
  21.                 android:scrollbars="none" />
  22.     </LinearLayout>
2、再就是onCreate里面的代码:
  1. myWebView = (WebView) findViewById(R.id.webview);

  2.         progressBar = (ProgressBar) findViewById(R.id.progressBar1);
  3.         initWebView();//初始化webview的设置,注释写的很清楚
  4.         String url = "你的URL"
  5.         myWebView.loadUrl(url);
  1. private void initWebView() {
  2.         WebSettings webSettings = myWebView.getSettings();
  3.         webSettings.setJavaScriptEnabled(true);//支持js
  4. //        myWebView.requestFocusFromTouch();//如果webView中需要用户手动输入用户名、密码或其他,则webview必须设置支持获取手势焦点
  5.         webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //允许js弹窗
  6.         myWebView.setWebViewClient(new WebViewClient() {
  7.             @Override
  8.             public boolean shouldOverrideUrlLoading(WebView webView, String s) {
  9.                 webView.loadUrl(s);
  10.                 return true;
  11.             }
  12.         });
  13.         myWebView.setWebChromeClient(new WebChromeClient() {
  14.             @Override
  15.             public boolean onJsAlert(WebView webView, String s, String s1, JsResult jsResult) {
  16.                 new AlertDialog.Builder(WebViewActivity.this).setTitle("提示消息").setMessage(s1).setPositiveButton("OK", null).show();
  17.                 jsResult.confirm(); //不调用,alert只弹出一次
  18.                 return true;
  19.             }
  20.             @Override
  21.             public void onProgressChanged(WebView webView, int newProgress) {
  22.                 super.onProgressChanged(webView, newProgress);
  23.                 if (newProgress == 100) {
  24.                     progressBar.setVisibility(View.GONE);
  25.                 } else {
  26.                     progressBar.setVisibility(View.VISIBLE);
  27.                     progressBar.setProgress(newProgress);//设置加载进度
  28.                 }
  29.             }
  30.         });
  31.     }
  1. @Override
  2.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  3.         //如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,
  4.         // 如果希望浏览的网 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。
  5.         if (keyCode == KeyEvent.KEYCODE_BACK && myWebView.canGoBack()) {
  6.             myWebView.goBack();
  7.             return true;
  8.         }
  9.         return super.onKeyDown(keyCode, event);
  10.     }

扫描二维码,手机查看
声明:本文来源于互联网,观点仅代表作者本人,不代表hl05.,真实性请妥善甄别。