Одноразовое открытие onShowCustomView

Рейтинг: 0Ответов: 1Опубликовано: 31.01.2023

Срабатывает первый раз удачно. После закрытия полноэкранного окна YouTube больше не срабатывает.

override fun onShowCustomView(view: View?, callback: CustomViewCallback?) {
        val linearLayout = LinearLayout(activity)
        activity.window.decorView.systemUiVisibility =
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE
        linearLayout.visibility = View.VISIBLE
        val paramsForFrameLayout by lazy {
            FrameLayout.LayoutParams(
                FrameLayout.LayoutParams.MATCH_PARENT,
                FrameLayout.LayoutParams.MATCH_PARENT
            )
        }
        val mainView = activity.findViewById<WebView>(5)
        mainView.visibility = View.INVISIBLE
        linearLayout.id = idFrame
        paramsForFrameLayout.also {
            paramsForFrameLayout.hashCode()
            linearLayout.layoutParams = paramsForFrameLayout
        }
        linearLayout.addView(view)
        activity.globalContainer.addView(linearLayout)
        linearLayout.bringToFront()
    }

    @SuppressLint("ResourceType")
    override fun onHideCustomView() {
        val linearLayout = activity.findViewById<LinearLayout>(idFrame)
        activity.window.decorView.systemUiVisibility =
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        val mainView = activity.findViewById<WebView>(5)
        mainView.visibility = View.VISIBLE
        linearLayout.removeAllViews()
        activity.globalContainer.removeView(linearLayout)
    }

Ответы

▲ 0

Открытие onShowCustomView было решено програмным изменением ориентации. Которые меняется при открытии кастомного окна и при его закрытии.