android的WebView必知必会

2022-02-06  本文已影响0人  SeekLife0

1、使用

在xml中

    <WebView
        android:id="@+id/wv_vr"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

在activity中

@BindView(R.id.wv_vr)
private lateinit var vr : WebView

//加载网址
vr.loadUrl(url)

//页面关闭时觉得销毁,不然耗费性能。
override fun onDestroy() {
    super.onDestroy()
    //销毁webView
    vr.destroy()
}

2、注意事项

通常网址加载较慢需要添加加载动画。
github: https://github.com/zyao89/ZLoading
在gradle引入加载动画组件

implementation 'com.zyao89:zloading:1.1.2'

放在WebView组件之上,覆盖它,加载完成动画隐藏动画。

<com.zyao89.view.zloading.ZLoadingView
        android:layout_centerInParent="true"
        android:id="@+id/loading"
        android:layout_width="100dp"
        android:layout_height="100dp" />

页面初始化时进行如下操作。

//需要网页全屏显示的沉浸式操作
ScreenUtils.hideBottomUIMenu(this) //隐藏标题栏和底部虚拟键
loading.setLoadingBuilder(Z_TYPE.SINGLE_CIRCLE) //设置类型
// zLoadingView.setLoadingBuilder(Z_TYPE.values()[type], 0.5); //设置类型 + 动画时间百分比 - 0.5倍
loading.setColorFilter(Color.BLACK) //设置颜色

//监听WebView是否加载完成,来判断是否需要停止动画。

vr.webViewClient = object : WebViewClient(){
      override fun onPageFinished(view: WebView?, url: String?) {
            super.onPageFinished(view, url)
            //网页加载成功结束隐藏加载动画
            loading.visibility = ViewGroup.GONE
        }
 }
上一篇下一篇

猜你喜欢

热点阅读