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
    }
  • 相关阅读:
    laravel5.5源码笔记(二、服务提供者provider)
    laravel5.5源码笔记(一、入口应用的初始化)
    laravel5.5源码阅读草稿——路由
    laravel5.5源码阅读草稿——application
    NOIP2018提高组爆炸记
    复习3-数据结构模板
    复习2-数论模板
    复习1-图论模板
    洛谷P3960 列队
    poj3159 Candies
  • 原文地址:https://www.cnblogs.com/yongfengnice/p/13713674.html
Copyright © 2011-2022 走看看