From 210f79c47148404266ffe0ad89ab910fe105b56c Mon Sep 17 00:00:00 2001 From: donghongyu Date: Thu, 18 Nov 2021 12:19:55 +0800 Subject: [PATCH] =?UTF-8?q?[Fix]=E5=BD=BB=E5=BA=95=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E4=BB=8E=E5=B7=A6=E8=BE=B9=E9=A3=98=E5=85=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../hmi/notification/WarningFloatWindowHelper.kt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt index a7bfde0edb..0cdc3fc1a1 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/notification/WarningFloatWindowHelper.kt @@ -12,6 +12,7 @@ import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.WindowManager +import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.notification.anim.AnimatorManager import com.mogo.eagle.core.function.hmi.notification.enums.ShowPattern import com.mogo.eagle.core.function.hmi.notification.widget.ParentFrameLayout @@ -94,15 +95,15 @@ internal class WarningFloatWindowHelper( // 在浮窗绘制完成的时候,设置初始坐标、执行入场动画 frameLayout?.layoutListener = object : ParentFrameLayout.OnLayoutListener { override fun onLayout() { - setGravity(frameLayout) frameLayout?.postDelayed({ + setGravity(frameLayout) config.apply { enterAnim(floatingView) // 设置callbacks layoutView = floatingView callbacks?.createdResult(true, null, floatingView) } - }, 700) + }, 100) } } @@ -143,7 +144,7 @@ internal class WarningFloatWindowHelper( .enterAnim()?.apply { // 可以延伸到屏幕外,动画结束按需去除该属性,不然旋转屏幕可能置于屏幕外部 params.flags = - WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS + WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS addListener(object : Animator.AnimatorListener { override fun onAnimationRepeat(animation: Animator?) {} @@ -188,7 +189,7 @@ internal class WarningFloatWindowHelper( if (config.isAnim) return config.isAnim = true params.flags = - WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS + WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS animator.addListener(object : Animator.AnimatorListener { override fun onAnimationRepeat(animation: Animator?) {} @@ -252,8 +253,10 @@ internal class WarningFloatWindowHelper( params.y = (parentBottom - view.height).shr(1) } // 上中 - Gravity.CENTER_HORIZONTAL, Gravity.TOP or Gravity.CENTER_HORIZONTAL -> + Gravity.CENTER_HORIZONTAL, Gravity.TOP or Gravity.CENTER_HORIZONTAL -> { params.x = (parentRect.right - view.width).shr(1) + Log.d(TAG, "layoutParams:${params.x},${params.y}") + } // 下中 Gravity.BOTTOM or Gravity.CENTER_HORIZONTAL -> { params.x = (parentRect.right - view.width).shr(1) @@ -267,8 +270,9 @@ internal class WarningFloatWindowHelper( params.x = parentRect.right - view.width params.y = (parentBottom - view.height).shr(1) } - // 其他情况,均视为左上 + // 其他情况,均视为上中 else -> { + params.x = (parentRect.right - view.width).shr(1) } }