Sfoglia il codice sorgente

Merge pull request #207 from mariusmuja/fix_button_stacking

Fix button stacking when positive button text is very long
Aidan Follestad 10 anni fa
parent
commit
4e194cf246

+ 8 - 3
library/src/main/java/com/afollestad/materialdialogs/MaterialDialog.java

@@ -616,9 +616,14 @@ 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();
+
+        positiveButton.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED);
+        neutralButton.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED);
+        negativeButton.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED);
+
+        if (mBuilder.positiveText != null) buttonsWidth += positiveButton.getMeasuredWidth();
+        if (mBuilder.neutralText != null) buttonsWidth += neutralButton.getMeasuredWidth();
+        if (mBuilder.negativeText != null) buttonsWidth += negativeButton.getMeasuredWidth();
 
         final int buttonFrameWidth = view.findViewById(R.id.buttonDefaultFrame).getWidth();
         isStacked = buttonsWidth > buttonFrameWidth;