summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubblePopupHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubblePopupHelper.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubblePopupHelper.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubblePopupHelper.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubblePopupHelper.java
new file mode 100644
index 0000000000..215445abaa
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubblePopupHelper.java
@@ -0,0 +1,33 @@
+package com.mapbox.mapboxsdk.annotations;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+import android.support.annotation.NonNull;
+import android.view.ViewGroup;
+import android.widget.PopupWindow;
+
+import com.mapbox.mapboxsdk.R;
+
+class BubblePopupHelper {
+
+ static PopupWindow create(@NonNull Context context, @NonNull BubbleLayout bubbleLayout) {
+ PopupWindow popupWindow = new PopupWindow(context);
+
+ popupWindow.setContentView(bubbleLayout);
+ popupWindow.setOutsideTouchable(true);
+ popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
+ popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
+ popupWindow.setAnimationStyle(android.R.style.Animation_Dialog);
+ // change background color to transparent
+ Drawable drawable;
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ drawable = context.getDrawable(R.drawable.mapbox_popup_window_transparent);
+ } else {
+ drawable = context.getResources().getDrawable(R.drawable.mapbox_popup_window_transparent);
+ }
+ popupWindow.setBackgroundDrawable(drawable);
+
+ return popupWindow;
+ }
+}