浅谈云豹直播系统中关于Android客户端网页加载实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yun_bao_2144899870/article/details/88060542

为了方便客户快捷地更换直播App内的展示内容,云豹直播系统内置了Web网页,而这种功能主要就是使用本文将要介绍的WebView这一组件实现的。
WebView是一个展现web页面的控件,它有以下作用:
1.显示和渲染Web页面;
2.直接使用html文件(网络上或本地assets中)作布局;
3.可和JavaScript交互调用。使用WebView加载网页会默认调动系统浏览器打开;
为了更好的用户体验,我们可以根据网页的类型在本APP内打开网页。首先,需要在本APP中添加访问网络权限,即在AndroidManifest.xml文件 中,添加<uses-permissionandroid:name=“android.permission. INTERNET”/>,接着在Activity中创建对象:
WebView webView = new WebView(this)
//声明WebSettings子类
WebSettings webSettings = webView.getSettings();
//如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
webSettings.setJavaScriptEnabled(true);
// 若加载的 html 里有JS 在执行动画等操作,会造成资源浪费(CPU、电量)
// 在 onStop 和 onResume 里分别把 setJavaScriptEnabled() 给设置成 false 和 true 即可
//支持插件
webSettings.setPluginsEnabled(true);
//设置自适应屏幕,两者合用
webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
//缩放操作
webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。
webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放
webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件
//其他细节操作
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //关闭webview中缓存
webSettings.setAllowFileAccess(true); //设置可以访问文件
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
webSettings.setDefaultTextEncodingName(“utf-8”);//设置编码格式

当我们不希望通过外部浏览器打开网页时,需要设置WebClient:
Webview webview = (WebView) findViewById(R.id.webView1);
可以选择不同的加载方式,例如
//方式1. 加载一个网页:

webView.loadUrl("http:// www.google. com/");

//方式2:加载apk包中的html页面
重写shouldOverrideUrlLoading()方法,使得打开网页时不调用系统浏览器, 而是在本WebView中显示

    webView.setWebViewClient(new WebViewClient(){
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
          view.loadUrl(url);
      return true;
      }
  });

以上就是通过云豹直播系统内的WebView加载网页的相关知识,当然,只是使用了最简单的设置实现了功能,如果需要定制更好的功能实现,请关注我们的官方账号,我们会定期更新相关知识哦。
声明:本篇为原创文章,转载请注明出处及作者。

猜你喜欢

转载自blog.csdn.net/yun_bao_2144899870/article/details/88060542
今日推荐