Explorar el Código

User width of button frame instead on windows decor width when checking for button stacking

Marius Muja hace 10 años
padre
commit
f8112efa26

+ 7 - 11
library/src/main/java/com/afollestad/materialdialogs/MaterialDialog.java

@@ -624,16 +624,12 @@ public class MaterialDialog extends DialogBase implements View.OnClickListener {
         }
         isStacked = false;
         int buttonsWidth = 0;
-        if (mBuilder.positiveText != null)
-            buttonsWidth += positiveButton.getWidth();
-        if (mBuilder.neutralText != null)
-            buttonsWidth += neutralButton.getWidth();
-        if (mBuilder.negativeText != null)
-            buttonsWidth += negativeButton.getWidth();
-        final int dialogWidth = getWindow().getDecorView().getMeasuredWidth();
-        final int margins = (int) getContext().getResources().getDimension(R.dimen.md_button_padding_frame_side);
-        final int effectiveDialogWidth = dialogWidth - 2 * margins;
-        isStacked = buttonsWidth > effectiveDialogWidth;
+        if (mBuilder.positiveText != null) buttonsWidth += positiveButton.getWidth();
+        if (mBuilder.neutralText != null) buttonsWidth += neutralButton.getWidth();
+        if (mBuilder.negativeText != null) buttonsWidth += negativeButton.getWidth();
+
+        final int buttonFrameWidth = view.findViewById(R.id.buttonDefaultFrame).getWidth();
+        isStacked = buttonsWidth > buttonFrameWidth;
         invalidateActions();
     }
 
@@ -1696,4 +1692,4 @@ public class MaterialDialog extends DialogBase implements View.OnClickListener {
             return super.toString();
         }
     }
-}
+}