diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..cd29f5bf --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea +.gradle +build +local.properties diff --git a/build.gradle b/build.gradle index 88583e9d..1d32375c 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:0.14.1' + classpath 'com.android.tools.build:gradle:1.1.0' } } diff --git a/library/build.gradle b/library/build.gradle index 8e4eabc6..ae2b2e56 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -17,7 +17,7 @@ android { } dependencies { - compile 'com.pnikosis:materialish-progress:1.0' + compile 'com.pnikosis:materialish-progress:1.5' } apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle' \ No newline at end of file diff --git a/library/library.iml b/library/library.iml new file mode 100644 index 00000000..b214a8d3 --- /dev/null +++ b/library/library.iml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library/src/main/assets/noasarck.otf b/library/src/main/assets/noasarck.otf new file mode 100644 index 00000000..370a4ea1 Binary files /dev/null and b/library/src/main/assets/noasarck.otf differ diff --git a/library/src/main/java/cn/pedant/SweetAlert/SweetAlertDialog.java b/library/src/main/java/cn/pedant/SweetAlert/SweetAlertDialog.java index 77be52dd..27e8ed0c 100644 --- a/library/src/main/java/cn/pedant/SweetAlert/SweetAlertDialog.java +++ b/library/src/main/java/cn/pedant/SweetAlert/SweetAlertDialog.java @@ -3,19 +3,20 @@ import android.app.Dialog; import android.content.Context; +import android.graphics.Typeface; import android.graphics.drawable.Drawable; +import android.media.MediaPlayer; import android.os.Build; import android.os.Bundle; +import android.util.TypedValue; import android.view.View; +import android.view.ViewGroup; import android.view.WindowManager; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.Transformation; -import android.widget.Button; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.TextView; +import android.widget.*; import com.pnikosis.materialishprogress.ProgressWheel; @@ -38,10 +39,15 @@ public class SweetAlertDialog extends Dialog implements View.OnClickListener { private boolean mShowContent; private String mCancelText; private String mConfirmText; + private int mTitleSize; + private int mContentSize; + private int mButtonsSize; + private Typeface mTf; private int mAlertType; private FrameLayout mErrorFrame; private FrameLayout mSuccessFrame; private FrameLayout mProgressFrame; + private LinearLayout mButtonContainer; private SuccessTickView mSuccessTick; private ImageView mErrorX; private View mSuccessLeftMask; @@ -55,6 +61,7 @@ public class SweetAlertDialog extends Dialog implements View.OnClickListener { private OnSweetClickListener mCancelClickListener; private OnSweetClickListener mConfirmClickListener; private boolean mCloseFromCancel; + private MediaPlayer mp; public static final int NORMAL_TYPE = 0; public static final int ERROR_TYPE = 1; @@ -62,6 +69,15 @@ public class SweetAlertDialog extends Dialog implements View.OnClickListener { public static final int WARNING_TYPE = 3; public static final int CUSTOM_IMAGE_TYPE = 4; public static final int PROGRESS_TYPE = 5; + private int mButtonsPaddingLeft; + private int mButtonsPaddingTop; + private int mButtonsPaddingRight; + private int mButtonsPaddingBottom; + private int mButtonContainerMarginLeft; + private int mButtonContainerMarginTop; + private int mButtonContainerMarginRight; + private int mButtonContainerMarginBottom; + private int mButtonHeight; public static interface OnSweetClickListener { public void onClick (SweetAlertDialog sweetAlertDialog); @@ -153,6 +169,7 @@ protected void onCreate(Bundle savedInstanceState) { mWarningFrame = (FrameLayout)findViewById(R.id.warning_frame); mConfirmButton = (Button)findViewById(R.id.confirm_button); mCancelButton = (Button)findViewById(R.id.cancel_button); + mButtonContainer = (LinearLayout)findViewById(R.id.button_container); mProgressHelper.setProgressWheel((ProgressWheel)findViewById(R.id.progressWheel)); mConfirmButton.setOnClickListener(this); mCancelButton.setOnClickListener(this); @@ -161,6 +178,14 @@ protected void onCreate(Bundle savedInstanceState) { setContentText(mContentText); setCancelText(mCancelText); setConfirmText(mConfirmText); + setTitleTextSize(mTitleSize); + setContentTextSize(mContentSize); + setButtonsTextSize(mButtonsSize); + setButtonPadding(mButtonsPaddingLeft, mButtonsPaddingTop, mButtonsPaddingRight, mButtonsPaddingBottom); + setButtonContainerMargins(mButtonContainerMarginLeft, mButtonContainerMarginTop, mButtonContainerMarginRight, + mButtonContainerMarginBottom); + setButtonHeight(mButtonHeight); + setTypeface(mTf); changeAlertType(mAlertType, true); } @@ -248,6 +273,121 @@ public SweetAlertDialog setTitleText (String text) { return this; } + public SweetAlertDialog setTitleTextSize(int sps){ + mTitleSize = sps; + if (mTitleTextView != null && mTitleSize != 0) { + mTitleTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, sps); + } + + + return this; + } + + public SweetAlertDialog setContentTextSize(int sps){ + mContentSize = sps; + if (mContentTextView != null && mContentSize != 0) { + mContentTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, sps); + } + + return this; + } + + /** + * Sets the margins for the button container on the bottom. + * @param left The left in pixels + * @param top The top in pixels + * @param right The right in pixels + * @param bottom The bottom in pixels + * @return + */ + public SweetAlertDialog setButtonContainerMargins(int left, int top, int right, int bottom) { + mButtonContainerMarginLeft = left; + mButtonContainerMarginTop = top; + mButtonContainerMarginRight = right; + mButtonContainerMarginBottom = bottom; + + if (mButtonContainer != null) { + LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mButtonContainer.getLayoutParams(); + params.setMargins(mButtonContainerMarginLeft, mButtonContainerMarginTop, mButtonContainerMarginRight, mButtonContainerMarginBottom); + mButtonContainer.setLayoutParams(params); + } + return this; + } + + /** + * Sets the padding for both the cancel and confirm buttons. + * @param left + * @param top + * @param right + * @param bottom + * @return + */ + public SweetAlertDialog setButtonPadding(int left, int top, int right, int bottom) { + mButtonsPaddingLeft = left; + mButtonsPaddingTop = top; + mButtonsPaddingRight = right; + mButtonsPaddingBottom = bottom; + + if (mCancelButton != null) { + mCancelButton.setPadding(mButtonsPaddingLeft, mButtonsPaddingTop, mButtonsPaddingRight, mButtonsPaddingBottom); + } + + if (mConfirmButton != null) { + mConfirmButton.setPadding(mButtonsPaddingLeft, mButtonsPaddingTop, mButtonsPaddingRight, mButtonsPaddingBottom); + } + + return this; + } + + public SweetAlertDialog setButtonHeight(int pixels) { + mButtonHeight = pixels; + if (mCancelButton != null && mButtonHeight != 0) { + ViewGroup.LayoutParams layoutParams = mCancelButton.getLayoutParams(); + layoutParams.height = pixels; + mCancelButton.setLayoutParams(layoutParams); + } + + if (mConfirmButton != null && mButtonHeight != 0) { + ViewGroup.LayoutParams layoutParams = mConfirmButton.getLayoutParams(); + layoutParams.height = pixels; + mConfirmButton.setLayoutParams(layoutParams); + } + + return this; + } + + public SweetAlertDialog setButtonsTextSize(int sps){ + mButtonsSize = sps; + if (mCancelButton != null && mButtonsSize != 0) { + mCancelButton.setTextSize(TypedValue.COMPLEX_UNIT_SP, sps); + } + + if (mConfirmButton != null && mButtonsSize != 0) { + mConfirmButton.setTextSize(TypedValue.COMPLEX_UNIT_SP, sps); + } + + return this; + } + + public SweetAlertDialog setTypeface(Typeface tf){ + mTf = tf; + if (mTitleTextView != null && mTf != null) { + mTitleTextView.setTypeface(tf); + } + if (mContentTextView != null && mTf != null) { + mContentTextView.setTypeface(tf); + } + + if (mCancelButton != null && mTf != null) { + mCancelButton.setTypeface(tf); + } + + if (mConfirmButton != null && mTf != null) { + mConfirmButton.setTypeface(tf); + } + return this; + } + public SweetAlertDialog setCustomImage (Drawable drawable) { mCustomImgDrawable = drawable; if (mCustomImage != null && mCustomImgDrawable != null) { @@ -333,6 +473,13 @@ public SweetAlertDialog setConfirmClickListener (OnSweetClickListener listener) return this; } + public SweetAlertDialog setMediaPlayer(MediaPlayer mp){ + this.mp = mp; + + return this; + } + + protected void onStart() { mDialogView.startAnimation(mModalInAnim); playAnimation(); @@ -361,6 +508,11 @@ private void dismissWithAnimation(boolean fromCancel) { @Override public void onClick(View v) { + + if(mp != null){ + mp.start(); + } + if (v.getId() == R.id.cancel_button) { if (mCancelClickListener != null) { mCancelClickListener.onClick(SweetAlertDialog.this); diff --git a/library/src/main/res/drawable/blue_button_background.xml b/library/src/main/res/drawable/blue_button_background.xml index 0e597b42..5c650288 100644 --- a/library/src/main/res/drawable/blue_button_background.xml +++ b/library/src/main/res/drawable/blue_button_background.xml @@ -3,13 +3,13 @@ - + - + \ No newline at end of file diff --git a/library/src/main/res/drawable/dialog_background.xml b/library/src/main/res/drawable/dialog_background.xml index 4c4a5e72..ad69716c 100644 --- a/library/src/main/res/drawable/dialog_background.xml +++ b/library/src/main/res/drawable/dialog_background.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/library/src/main/res/drawable/error_center_x.xml b/library/src/main/res/drawable/error_center_x.xml index e8b989bc..b6e0f5f1 100644 --- a/library/src/main/res/drawable/error_center_x.xml +++ b/library/src/main/res/drawable/error_center_x.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/library/src/main/res/drawable/gray_button_background.xml b/library/src/main/res/drawable/gray_button_background.xml index 04e807d0..39769afc 100644 --- a/library/src/main/res/drawable/gray_button_background.xml +++ b/library/src/main/res/drawable/gray_button_background.xml @@ -3,13 +3,13 @@ - + - + \ No newline at end of file diff --git a/library/src/main/res/drawable/red_button_background.xml b/library/src/main/res/drawable/red_button_background.xml index a0ef0823..09836ec2 100644 --- a/library/src/main/res/drawable/red_button_background.xml +++ b/library/src/main/res/drawable/red_button_background.xml @@ -3,13 +3,13 @@ - + - + \ No newline at end of file diff --git a/library/src/main/res/drawable/warning_sigh.xml b/library/src/main/res/drawable/warning_sigh.xml index 19022091..3169fadf 100644 --- a/library/src/main/res/drawable/warning_sigh.xml +++ b/library/src/main/res/drawable/warning_sigh.xml @@ -3,7 +3,7 @@ - + diff --git a/library/src/main/res/layout/alert_dialog.xml b/library/src/main/res/layout/alert_dialog.xml index 7972157f..ddfebb78 100644 --- a/library/src/main/res/layout/alert_dialog.xml +++ b/library/src/main/res/layout/alert_dialog.xml @@ -113,7 +113,7 @@ android:id="@+id/progressWheel" android:layout_width="80dp" android:layout_height="80dp" - wheel:progressIndeterminate="true" + wheel:matProg_progressIndeterminate="true" android:layout_gravity="center" /> @@ -136,13 +136,14 @@ android:textAlignment="center" android:gravity="center" android:textColor="#797979" - android:visibility="gone" /> + android:visibility="gone" android:layout_marginLeft="10dp" android:layout_marginRight="10dp"/> + android:id="@+id/button_container" + android:gravity="center" android:layout_marginBottom="18dp">