From ff743974cda961a8f1d3a0572527d6ef66f3175a Mon Sep 17 00:00:00 2001 From: Ioannis Kokkinidis Date: Fri, 15 Dec 2017 04:45:52 +0200 Subject: [PATCH] Now passing layoutParams even when we already have dialog (#249) - Fixes: https://github.com/beefe/react-native-picker/issues/248 --- .../com/beefe/picker/PickerViewModule.java | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/android/src/main/java/com/beefe/picker/PickerViewModule.java b/android/src/main/java/com/beefe/picker/PickerViewModule.java index 3ae70dd..999f8ea 100644 --- a/android/src/main/java/com/beefe/picker/PickerViewModule.java +++ b/android/src/main/java/com/beefe/picker/PickerViewModule.java @@ -346,26 +346,25 @@ public class PickerViewModule extends ReactContextBaseJavaModule implements Life int height = barViewHeight + pickerViewHeight; if (dialog == null) { dialog = new Dialog(activity, R.style.Dialog_Full_Screen); - dialog.setContentView(view); - WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); - Window window = dialog.getWindow(); - if (window != null) { - if (MIUIUtils.isMIUI()) { - layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION; - }else { - //layoutParams.type = WindowManager.LayoutParams.TYPE_TOAST; - } - layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; - layoutParams.format = PixelFormat.TRANSPARENT; - layoutParams.windowAnimations = R.style.PickerAnim; - layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; - layoutParams.height = height; - layoutParams.gravity = Gravity.BOTTOM; - window.setAttributes(layoutParams); - } } else { dialog.dismiss(); - dialog.setContentView(view); + } + dialog.setContentView(view); + WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); + Window window = dialog.getWindow(); + if (window != null) { + if (MIUIUtils.isMIUI()) { + layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION; + }else { + //layoutParams.type = WindowManager.LayoutParams.TYPE_TOAST; + } + layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; + layoutParams.format = PixelFormat.TRANSPARENT; + layoutParams.windowAnimations = R.style.PickerAnim; + layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; + layoutParams.height = height; + layoutParams.gravity = Gravity.BOTTOM; + window.setAttributes(layoutParams); } } } -- 2.26.2