Aidan Follestad 10 years ago
parent
commit
aedc386462

+ 6 - 6
library/src/main/java/com/afollestad/materialdialogs/DialogInit.java

@@ -211,7 +211,7 @@ class DialogInit {
             textAllCaps = DialogUtils.resolveBoolean(builder.context, R.attr.textAllCaps, true);
         }
 
-        if (dialog.positiveButton != null && builder.positiveText != null) {
+//        if (dialog.positiveButton != null && builder.positiveText != null) {
             MDButton positiveTextView = dialog.positiveButton;
             dialog.setTypeface(positiveTextView, builder.mediumFont);
             positiveTextView.setAllCapsCompat(textAllCaps);
@@ -222,9 +222,9 @@ class DialogInit {
             dialog.positiveButton.setTag(DialogAction.POSITIVE);
             dialog.positiveButton.setOnClickListener(dialog);
             dialog.positiveButton.setVisibility(View.VISIBLE);
-        }
+//        }
 
-        if (dialog.negativeButton != null && builder.negativeText != null) {
+//        if (dialog.negativeButton != null && builder.negativeText != null) {
             MDButton negativeTextView = dialog.negativeButton;
             dialog.setTypeface(negativeTextView, builder.mediumFont);
             negativeTextView.setAllCapsCompat(textAllCaps);
@@ -235,9 +235,9 @@ class DialogInit {
             dialog.negativeButton.setTag(DialogAction.NEGATIVE);
             dialog.negativeButton.setOnClickListener(dialog);
             dialog.negativeButton.setVisibility(View.VISIBLE);
-        }
+//        }
 
-        if (dialog.neutralButton != null && builder.neutralText != null) {
+//        if (dialog.neutralButton != null && builder.neutralText != null) {
             MDButton neutralTextView = dialog.neutralButton;
             dialog.setTypeface(neutralTextView, builder.mediumFont);
             neutralTextView.setAllCapsCompat(textAllCaps);
@@ -248,7 +248,7 @@ class DialogInit {
             dialog.neutralButton.setTag(DialogAction.NEUTRAL);
             dialog.neutralButton.setOnClickListener(dialog);
             dialog.neutralButton.setVisibility(View.VISIBLE);
-        }
+//        }
 
         // Setup list dialog stuff
         if (builder.listCallbackMultiChoice != null)

+ 6 - 3
library/src/main/java/com/afollestad/materialdialogs/internal/MDRootLayout.java

@@ -133,7 +133,7 @@ public class MDRootLayout extends ViewGroup {
         if (!mForceStack) {
             int buttonsWidth = 0;
             for (MDButton button : mButtons) {
-                if (button != null && button.getVisibility() != View.GONE) {
+                if (button != null && isVisible(button)) {
                     button.setStacked(false, false);
                     measureChild(button, widthMeasureSpec, heightMeasureSpec);
                     buttonsWidth += button.getMeasuredWidth();
@@ -153,7 +153,7 @@ public class MDRootLayout extends ViewGroup {
         mIsStacked = stacked;
         if (stacked) {
             for (MDButton button : mButtons) {
-                if (button != null && button.getVisibility() != View.GONE) {
+                if (button != null && isVisible(button)) {
                     button.setStacked(true, false);
                     measureChild(button, widthMeasureSpec, heightMeasureSpec);
                     stackedHeight += button.getMeasuredHeight();
@@ -211,7 +211,10 @@ public class MDRootLayout extends ViewGroup {
     }
 
     private static boolean isVisible(View v) {
-        return v != null && v.getVisibility() != View.GONE;
+        boolean visible = v != null && v.getVisibility() != View.GONE;
+        if (visible && v instanceof MDButton)
+            visible = ((MDButton) v).getText().toString().trim().length() > 0;
+        return visible;
     }
 
     @Override

+ 0 - 1
sample/src/main/java/com/afollestad/materialdialogssample/MainActivity.java

@@ -633,7 +633,6 @@ public class MainActivity extends ActionBarActivity implements
                     .positiveText(R.string.dismiss)
                     .content(Html.fromHtml(getString(R.string.about_body)))
                     .contentLineSpacing(1.6f)
-                    .build()
                     .show();
             return true;
         }