浏览代码

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

Marius Muja 10 年之前
父节点
当前提交
f8112efa26
共有 1 个文件被更改,包括 7 次插入11 次删除
  1. 7 11
      library/src/main/java/com/afollestad/materialdialogs/MaterialDialog.java

+ 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();
         }
     }
-}
+}