zoukankan      html  css  js  c++  java
  • android开发webview使用h5播放视频时横竖屏切换的解决方法

    1.xml代码
    <activity
    android:hardwareAccelerated="true"
    android:name=".WebViewActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:screenOrientation="portrait" />

    2.kotlin代码
    webView.webChromeClient = object : WebChromeClient() {
    override fun onShowCustomView(view: View, callback: WebChromeClient.CustomViewCallback) {
    super.onShowCustomView(view, callback)
    showCustomView(view, callback)
    }
    override fun onHideCustomView() {
    super.onHideCustomView()
    hideCustomView()
    }
    }

    private fun setStatusBarVisibility(visible: Boolean) {
    val flag = if (visible) 0 else WindowManager.LayoutParams.FLAG_FULLSCREEN
    window.setFlags(flag, WindowManager.LayoutParams.FLAG_FULLSCREEN)
    }

    private var customView: View? = null
    private var customViewCallback: WebChromeClient.CustomViewCallback? = null

    private fun showCustomView(view: View, callback: IX5WebChromeClient.CustomViewCallback) {
    requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
    if (customView != null || view.parent != null) {
    callback.onCustomViewHidden()
    return
    }
    (window.decorView as FrameLayout).addView(view, FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
    customView = view
    setStatusBarVisibility(false)
    customViewCallback = callback
    }

    private fun hideCustomView() {
    requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
    if (customView == null) {
    return
    }
    setStatusBarVisibility(true)
    (window.decorView as FrameLayout).removeView(customView)
    customView = null
    customViewCallback?.onCustomViewHidden()
    webView.visibility = View.VISIBLE
    }
  • 相关阅读:
    网站常见的反爬虫和应对方法 + [评论]
    斯坦福大学自然语言处理第一课——引言(Introduction)
    爬虫入门实战,知乎小爬虫
    使用情感分析技术做营销
    字符串匹配的KMP算法
    向Array中添加希尔排序
    向Array中添加二分插入排序
    向Array中添加插入排序
    开辟我的前端之旅!
    【apache】yum 安装Apache(Centos 6.5)
  • 原文地址:https://www.cnblogs.com/yongfengnice/p/13713674.html
Copyright © 2011-2022 走看看