From 236b93730df940a625d1d2b468e4afbae341d27e Mon Sep 17 00:00:00 2001 From: hai004 <1125541618@qq.com> Date: Wed, 8 Mar 2023 16:00:01 +0800 Subject: [PATCH 1/4] Update Utils.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 兼容小窗模式 --- library/src/main/java/com/cpiz/android/bubbleview/Utils.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/src/main/java/com/cpiz/android/bubbleview/Utils.java b/library/src/main/java/com/cpiz/android/bubbleview/Utils.java index cd57261..b6f2268 100644 --- a/library/src/main/java/com/cpiz/android/bubbleview/Utils.java +++ b/library/src/main/java/com/cpiz/android/bubbleview/Utils.java @@ -50,6 +50,10 @@ public static int dp2px(int dp) { public static int getNavigationBarHeight(View view) { Activity activity = getActivity(view); if (activity != null) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && activity.isInMultiWindowMode()) { + // 小窗展示时没有NavigationBar,直接返回0 + return 0; + } // 方法一 { Display display = activity.getWindowManager().getDefaultDisplay(); From 2b69bf0f94424db1bda8a35f19e7b6304d83bdda Mon Sep 17 00:00:00 2001 From: hai004 <1125541618@qq.com> Date: Thu, 9 Mar 2023 16:42:28 +0800 Subject: [PATCH 2/4] Update Utils.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Utils#getActivity 改为public方法 --- library/src/main/java/com/cpiz/android/bubbleview/Utils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/cpiz/android/bubbleview/Utils.java b/library/src/main/java/com/cpiz/android/bubbleview/Utils.java index b6f2268..c830124 100644 --- a/library/src/main/java/com/cpiz/android/bubbleview/Utils.java +++ b/library/src/main/java/com/cpiz/android/bubbleview/Utils.java @@ -90,7 +90,7 @@ public static int getNavigationBarHeight(View view) { return 0; } - private static Activity getActivity(View view) { + public static Activity getActivity(View view) { Context context = view.getContext(); while (context instanceof ContextWrapper) { if (context instanceof Activity) { From 05f0ed479c382cfeb38b1c9d5521b49fd8f7f14b Mon Sep 17 00:00:00 2001 From: hai004 <1125541618@qq.com> Date: Thu, 9 Mar 2023 18:16:19 +0800 Subject: [PATCH 3/4] Update Utils.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Utils#getActivity方法恢复为private --- library/src/main/java/com/cpiz/android/bubbleview/Utils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/cpiz/android/bubbleview/Utils.java b/library/src/main/java/com/cpiz/android/bubbleview/Utils.java index c830124..b6f2268 100644 --- a/library/src/main/java/com/cpiz/android/bubbleview/Utils.java +++ b/library/src/main/java/com/cpiz/android/bubbleview/Utils.java @@ -90,7 +90,7 @@ public static int getNavigationBarHeight(View view) { return 0; } - public static Activity getActivity(View view) { + private static Activity getActivity(View view) { Context context = view.getContext(); while (context instanceof ContextWrapper) { if (context instanceof Activity) { From 29593432ce127c40336e594d0e63a786dd6ae9e6 Mon Sep 17 00:00:00 2001 From: lihai Date: Fri, 10 Mar 2023 02:11:13 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=8D=8E=E4=B8=BA=E9=B8=BF=E8=92=99?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=EF=BC=8C=E9=80=80=E5=87=BA=E5=B0=8F=E7=AA=97?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E5=90=8E=EF=BC=8C=E9=80=9A=E8=BF=87Resources?= =?UTF-8?q?.getSystem().getDisplayMetrics()=E8=8E=B7=E5=8F=96=E5=88=B0?= =?UTF-8?q?=E7=9A=84=E9=AB=98=E5=BA=A6=E8=BF=98=E6=98=AF=E5=B0=8F=E7=AA=97?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E7=9A=84=E9=AB=98=E5=BA=A6=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E8=87=B4popupWindow=E5=B1=95=E7=A4=BA=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E4=B8=8D=E5=AF=B9=EF=BC=8C=E6=94=B9=E7=94=A8View.getR?= =?UTF-8?q?esources().getDisplayMetrics()=E8=8E=B7=E5=8F=96=E5=AE=BD/?= =?UTF-8?q?=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cpiz/android/bubbleview/BubblePopupWindow.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/cpiz/android/bubbleview/BubblePopupWindow.java b/library/src/main/java/com/cpiz/android/bubbleview/BubblePopupWindow.java index 15510b4..6da7afc 100644 --- a/library/src/main/java/com/cpiz/android/bubbleview/BubblePopupWindow.java +++ b/library/src/main/java/com/cpiz/android/bubbleview/BubblePopupWindow.java @@ -176,8 +176,8 @@ public void showArrowTo(View anchor, ArrowDirection direction, int margin) { public void showArrowTo(View anchor, RelativePos relativePos, int marginH, int marginV) { dismiss(); - final int screenWidth = Resources.getSystem().getDisplayMetrics().widthPixels; - final int screenHeight = Resources.getSystem().getDisplayMetrics().heightPixels; + final int screenWidth = anchor.getResources().getDisplayMetrics().widthPixels; + final int screenHeight = anchor.getResources().getDisplayMetrics().heightPixels; final int navigationBarHeight = getNavigationBarHeightDelta(anchor); final Rect anchorRect = getRectInWindow(anchor);