我正在为应用程序中收到的聊天消息显示横幅 我正在使用窗口管理器如下。
val inflater = App.context.layoutInflater()
val layout = inflater.inflate(R.layout.banner_chat, null)
val params = WindowManager.LayoutParams()
params.gravity = Gravity.TOP
params.height = WindowManager.LayoutParams.WRAP_CONTENT
params.width = WindowManager.LayoutParams.MATCH_PARENT
params.type = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
} else {
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY
}
params.windowAnimations = R.style.NotificationAnimationTop
val mWindowManager: WindowManager = App.context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
mWindowManager.addView(layout, params)
Handler().postDelayed({ mWindowManager.removeView(layout) }, 4000)
当我使用TYPE_APPLICATION_OVERLAY
时,我无法在活动之间切换
无论是单击后退按钮还是通过任何其他方式
它就像一个冻结的UI。