diff --git a/mobile/android/base/PromptService.java b/mobile/android/base/PromptService.java index 105ef4aa555..30a7e528424 100644 --- a/mobile/android/base/PromptService.java +++ b/mobile/android/base/PromptService.java @@ -38,6 +38,7 @@ import android.widget.DatePicker; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; +import android.widget.ScrollView; import android.widget.Spinner; import android.widget.TextView; import android.widget.TimePicker; @@ -64,6 +65,7 @@ public class PromptService implements OnClickListener, OnCancelListener, OnItemC private final int mTopBottomTextWithIconPadding; private final int mIconTextPadding; private final int mIconSize; + private final int mInputPaddingSize; PromptService() { sInflater = LayoutInflater.from(GeckoApp.mAppContext); @@ -74,6 +76,7 @@ public class PromptService implements OnClickListener, OnCancelListener, OnItemC mTopBottomTextWithIconPadding = (int) (res.getDimension(R.dimen.prompt_service_top_bottom_text_with_icon_padding)); mIconTextPadding = (int) (res.getDimension(R.dimen.prompt_service_icon_text_padding)); mIconSize = (int) (res.getDimension(R.dimen.prompt_service_icon_size)); + mInputPaddingSize = (int) (res.getDimension(R.dimen.prompt_service_inputs_padding)); GeckoAppShell.getEventDispatcher().registerEventListener("Prompt:Show", this); } @@ -273,6 +276,11 @@ public class PromptService implements OnClickListener, OnCancelListener, OnItemC return promptServiceResult; } + private View applyInputStyle(View view) { + view.setPadding(mInputPaddingSize, 0, mInputPaddingSize, 0); + return view; + } + public void show(String aTitle, String aText, PromptListItem[] aMenuList, boolean aMultipleSelection) { GeckoApp.assertOnUiThread(); @@ -324,7 +332,7 @@ public class PromptService implements OnClickListener, OnCancelListener, OnItemC } } else if (length == 1) { try { - builder.setView(mInputs[0].getView()); + builder.setView(applyInputStyle(mInputs[0].getView())); } catch(UnsupportedOperationException ex) { // We cannot display these input widgets with this sdk version, // do not display any dialog and finish the prompt now. @@ -345,7 +353,9 @@ public class PromptService implements OnClickListener, OnCancelListener, OnItemC finishDialog("{\"button\": -1}"); return; } - builder.setView((View)linearLayout); + ScrollView view = new ScrollView(GeckoApp.mAppContext); + view.addView(linearLayout); + builder.setView(applyInputStyle(view)); } length = mButtons == null ? 0 : mButtons.length; diff --git a/mobile/android/base/resources/values/dimens.xml b/mobile/android/base/resources/values/dimens.xml index 626f9855e9b..89e9fb382f0 100644 --- a/mobile/android/base/resources/values/dimens.xml +++ b/mobile/android/base/resources/values/dimens.xml @@ -40,6 +40,7 @@ 32dp 72dp 10dp + 16dp 10dp 8dp 64dp