Одноразовое открытие onShowCustomView
Срабатывает первый раз удачно. После закрытия полноэкранного окна 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)
}
Источник: Stack Overflow на русском