[dev_arch_opt_3.0] 修正云通话窗口被遮挡问题
This commit is contained in:
@@ -73,10 +73,10 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
}
|
||||
|
||||
override fun initViews() {
|
||||
injectFloatView()
|
||||
injectStatusBar()
|
||||
window.setBackgroundDrawable(null)
|
||||
initConnectInfoRV()
|
||||
FloatingViewHandler.init(module_main_id_floating_view)
|
||||
CallerHmiManager.init(this)
|
||||
|
||||
//申请悬浮窗权限
|
||||
@@ -90,23 +90,42 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
|
||||
}
|
||||
|
||||
private fun injectStatusBar() {
|
||||
val decorView = this.window.decorView as FrameLayout
|
||||
val decorView = this.window.decorView as? FrameLayout ?: return
|
||||
val contentView =
|
||||
(decorView.findViewById<View>(android.R.id.content) as ViewGroup).getChildAt(0)
|
||||
(decorView.findViewById<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0) ?: return
|
||||
contentView.fitsSystemWindows = false
|
||||
decorView.clipToPadding = false
|
||||
var statusBarView = decorView.findViewWithTag<View>("status_bar")
|
||||
if (statusBarView == null) {
|
||||
statusBarView = statusBar
|
||||
statusBarView.setTag("status_bar")
|
||||
statusBarView.tag = "status_bar"
|
||||
val params = FrameLayout.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT,
|
||||
)
|
||||
params.topMargin = 0
|
||||
params.gravity = Gravity.TOP
|
||||
decorView.addView(statusBarView, params)
|
||||
}
|
||||
}
|
||||
|
||||
private fun injectFloatView() {
|
||||
val decorView = this.window.decorView as? FrameLayout ?: return
|
||||
val contentView =
|
||||
(decorView.findViewById<View>(android.R.id.content) as? ViewGroup)?.getChildAt(0) ?: return
|
||||
contentView.fitsSystemWindows = false
|
||||
decorView.clipToPadding = false
|
||||
var floatContainer = decorView.findViewWithTag<View>("float_container")
|
||||
if (floatContainer == null) {
|
||||
floatContainer = FrameLayout(this)
|
||||
floatContainer.tag = "float_container"
|
||||
FloatingViewHandler.init(floatContainer)
|
||||
val params = FrameLayout.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
)
|
||||
decorView.addView(floatContainer, params)
|
||||
}
|
||||
val statusBarLP = FrameLayout.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT,
|
||||
)
|
||||
statusBarLP.topMargin = 0
|
||||
statusBarLP.gravity = Gravity.TOP
|
||||
decorView.addView(statusBarView, statusBarLP)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,23 +6,11 @@
|
||||
android:background="@drawable/main_splash_bg"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!--网约车视图-->
|
||||
<FrameLayout
|
||||
android:id="@+id/module_main_id_och_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<!-- 浮层-->
|
||||
<FrameLayout
|
||||
android:id="@+id/module_main_id_floating_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<!--网约车视图-->
|
||||
<FrameLayout
|
||||
android:id="@+id/module_main_id_och_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</FrameLayout>
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<!--冷启动过渡Logo-->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
||||
Reference in New Issue
Block a user