diff --git a/app/build.gradle b/app/build.gradle index d6c301b..9c51262 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 23 - buildToolsVersion "23.0.2" + buildToolsVersion "23.0.3" defaultConfig { applicationId "com.bigkoo.svprogresshuddemo" @@ -20,7 +20,7 @@ android { } dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') compile project(':svprogresshud') - compile 'com.android.support:appcompat-v7:23.1.1' + compile 'com.android.support:appcompat-v7:23.2.0' + } diff --git a/app/src/main/java/com/bigkoo/svprogresshuddemo/MainActivity.java b/app/src/main/java/com/bigkoo/svprogresshuddemo/MainActivity.java index 5d813a4..f3eb281 100644 --- a/app/src/main/java/com/bigkoo/svprogresshuddemo/MainActivity.java +++ b/app/src/main/java/com/bigkoo/svprogresshuddemo/MainActivity.java @@ -6,8 +6,10 @@ import android.os.Bundle; import android.view.KeyEvent; import android.view.View; +import android.widget.Toast; import com.bigkoo.svprogresshud.SVProgressHUD; +import com.bigkoo.svprogresshud.listener.OnDismissListener; public class MainActivity extends Activity { private SVProgressHUD mSVProgressHUD; @@ -17,6 +19,14 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSVProgressHUD = new SVProgressHUD(this); + mSVProgressHUD.setOnDismissListener(new OnDismissListener(){ + @Override + public void onDismiss(SVProgressHUD hud) { + // todo something, like: finish current activity + Toast.makeText(getApplicationContext(),"dismiss",Toast.LENGTH_SHORT).show(); + } + }); + } public void show(View view){ @@ -39,12 +49,6 @@ public void showInfoWithStatus(View view){ } public void showSuccessWithStatus(View view){ mSVProgressHUD.showSuccessWithStatus("恭喜,提交成功!"); - mSVProgressHUD.setOnDismissListener(new SVProgressHUD.OnDismissListener(){ - @Override - public void onDismiss() { - // todo something, like: finish current activity - } - }); } public void showErrorWithStatus(View view){ mSVProgressHUD.showErrorWithStatus("不约,叔叔我们不约~", SVProgressHUD.SVProgressHUDMaskType.GradientCancel); diff --git a/build.gradle b/build.gradle index 8b0ed5d..dfd6d54 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2' + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0c71e76..75c06a7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Wed Apr 10 15:27:10 PDT 2013 +#Sun Jul 31 10:01:38 CST 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip diff --git a/svprogresshud/build.gradle b/svprogresshud/build.gradle index 6708114..0d9cfe0 100644 --- a/svprogresshud/build.gradle +++ b/svprogresshud/build.gradle @@ -6,7 +6,7 @@ version = "1.0.3" android { compileSdkVersion 23 - buildToolsVersion "23.0.2" + buildToolsVersion "23.0.3" defaultConfig { minSdkVersion 9 diff --git a/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVProgressHUD.java b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVProgressHUD.java index 29a6bea..ee5de57 100644 --- a/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVProgressHUD.java +++ b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVProgressHUD.java @@ -13,6 +13,10 @@ import android.view.animation.AnimationUtils; import android.widget.FrameLayout; +import com.bigkoo.svprogresshud.listener.OnDismissListener; +import com.bigkoo.svprogresshud.view.SVCircleProgressBar; +import com.bigkoo.svprogresshud.view.SVProgressDefaultView; + /** * Created by Sai on 15/8/15. */ @@ -20,6 +24,7 @@ public class SVProgressHUD { private Context context; private static final long DISMISSDELAYED = 1000; private SVProgressHUDMaskType mSVProgressHUDMaskType; + private boolean isShowing; public enum SVProgressHUDMaskType { None, // 允许遮罩下面控件点击 @@ -78,6 +83,7 @@ protected void initAnimation() { * show的时候调用 */ private void onAttached() { + isShowing = true; decorView.addView(rootView); if(mSharedView.getParent()!=null)((ViewGroup)mSharedView.getParent()).removeView(mSharedView); rootView.addView(mSharedView); @@ -196,11 +202,9 @@ private void setMaskType(SVProgressHUDMaskType maskType) { configMaskType(R.color.bgColor_overlay, true, true); break; case Gradient: - //TODO 设置半透明渐变背景 configMaskType(R.drawable.bg_overlay_gradient, true, false); break; case GradientCancel: - //TODO 设置半透明渐变背景 configMaskType(R.drawable.bg_overlay_gradient, true, true); break; default: @@ -220,15 +224,15 @@ private void configMaskType(int bg, boolean clickable, boolean cancelable) { * @return 如果视图已经存在该View返回true */ public boolean isShowing() { - return rootView.getParent() != null; + return rootView.getParent() != null && isShowing; } public void dismiss() { //消失动画 outAnim.setAnimationListener(outAnimListener); mSharedView.startAnimation(outAnim); - if(getOnDismissListener() != null){ - getOnDismissListener().onDismiss(); + if(onDismissListener != null){ + onDismissListener.onDismiss(this); } } @@ -238,6 +242,7 @@ public void dismissImmediately() { rootView.removeView(mSharedView); decorView.removeView(rootView); context = null; + isShowing = false; } public Animation getInAnimation() { @@ -309,11 +314,7 @@ public void setOnDismissListener(OnDismissListener listener){ } public OnDismissListener getOnDismissListener(){ - return this.onDismissListener; - } - - public interface OnDismissListener{ - void onDismiss(); + return onDismissListener; } } diff --git a/svprogresshud/src/main/java/com/bigkoo/svprogresshud/listener/OnDismissListener.java b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/listener/OnDismissListener.java new file mode 100644 index 0000000..f339743 --- /dev/null +++ b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/listener/OnDismissListener.java @@ -0,0 +1,10 @@ +package com.bigkoo.svprogresshud.listener; + +import com.bigkoo.svprogresshud.SVProgressHUD; + +/** + * Created by Sai on 16/7/31. + */ +public interface OnDismissListener { + void onDismiss(SVProgressHUD hud); +} diff --git a/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVCircleProgressBar.java b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/view/SVCircleProgressBar.java similarity index 94% rename from svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVCircleProgressBar.java rename to svprogresshud/src/main/java/com/bigkoo/svprogresshud/view/SVCircleProgressBar.java index 5d84c4f..182a2d2 100644 --- a/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVCircleProgressBar.java +++ b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/view/SVCircleProgressBar.java @@ -1,4 +1,4 @@ -package com.bigkoo.svprogresshud; +package com.bigkoo.svprogresshud.view; import android.content.Context; import android.content.res.TypedArray; @@ -9,11 +9,12 @@ import android.util.AttributeSet; import android.view.View; +import com.bigkoo.svprogresshud.R; + /** * Created by Sai on 15/9/1. */ public class SVCircleProgressBar extends View { - private Context mContext; /** * 画笔对象的引用 */ @@ -54,18 +55,14 @@ public class SVCircleProgressBar extends View { public SVCircleProgressBar(Context context) { this(context, null); - this.mContext = context; - } public SVCircleProgressBar(Context context, AttributeSet attrs) { this(context, attrs, 0); - this.mContext = context; } public SVCircleProgressBar(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); - this.mContext = context; paint = new Paint(); @@ -73,12 +70,12 @@ public SVCircleProgressBar(Context context, AttributeSet attrs, int defStyle) { R.styleable.SVCircleProgressBar); // 获取自定义属性和默认值 - roundColor = mTypedArray.getColor(R.styleable.SVCircleProgressBar_roundColor, Color.BLUE); - roundProgressColor = mTypedArray.getColor(R.styleable.SVCircleProgressBar_roundProgressColor, + roundColor = mTypedArray.getColor(R.styleable.SVCircleProgressBar_svprogress_roundColor, Color.BLUE); + roundProgressColor = mTypedArray.getColor(R.styleable.SVCircleProgressBar_svprogress_roundProgressColor, Color.GRAY); - roundWidth = mTypedArray.getDimension(R.styleable.SVCircleProgressBar_roundWidth, 5); - max = mTypedArray.getInteger(R.styleable.SVCircleProgressBar_max, 100); - style = mTypedArray.getInt(R.styleable.SVCircleProgressBar_style, 0); + roundWidth = mTypedArray.getDimension(R.styleable.SVCircleProgressBar_svprogress_roundWidth, 5); + max = mTypedArray.getInteger(R.styleable.SVCircleProgressBar_svprogress_max, 100); + style = mTypedArray.getInt(R.styleable.SVCircleProgressBar_svprogress_style, 0); mTypedArray.recycle(); } diff --git a/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVProgressDefaultView.java b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/view/SVProgressDefaultView.java similarity index 98% rename from svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVProgressDefaultView.java rename to svprogresshud/src/main/java/com/bigkoo/svprogresshud/view/SVProgressDefaultView.java index 187b749..efce96d 100644 --- a/svprogresshud/src/main/java/com/bigkoo/svprogresshud/SVProgressDefaultView.java +++ b/svprogresshud/src/main/java/com/bigkoo/svprogresshud/view/SVProgressDefaultView.java @@ -1,4 +1,4 @@ -package com.bigkoo.svprogresshud; +package com.bigkoo.svprogresshud.view; import android.content.Context; import android.view.LayoutInflater; @@ -10,6 +10,8 @@ import android.widget.LinearLayout; import android.widget.TextView; +import com.bigkoo.svprogresshud.R; + /** * Created by Sai on 15/8/15. * 默认的SVProgress效果 diff --git a/svprogresshud/src/main/res/layout/view_svprogressdefault.xml b/svprogresshud/src/main/res/layout/view_svprogressdefault.xml index 1eac5d2..612f6ac 100644 --- a/svprogresshud/src/main/res/layout/view_svprogressdefault.xml +++ b/svprogresshud/src/main/res/layout/view_svprogressdefault.xml @@ -29,13 +29,13 @@ android:scaleType="centerInside" android:visibility="gone" /> - - - - - - + + + + +