diff --git a/app/build.gradle b/app/build.gradle index 8119288..ac22b44 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,7 @@ android { compileSdkVersion 28 defaultConfig { applicationId "org.angmarc.app" - minSdkVersion 21 + minSdkVersion 16 targetSdkVersion 28 versionCode 1 versionName "1.0" diff --git a/app/src/main/java/org/angmarc/app/MainActivity.java b/app/src/main/java/org/angmarc/app/MainActivity.java index 0363045..b491edd 100644 --- a/app/src/main/java/org/angmarc/app/MainActivity.java +++ b/app/src/main/java/org/angmarc/app/MainActivity.java @@ -24,6 +24,6 @@ protected void onCreate(Bundle savedInstanceState) { tintedSpinner.attachDataSource(dataset); NiceSpinner bottomSpinner = findViewById(R.id.bottom_nice_spinner); - bottomSpinner .attachDataSource(dataset); + bottomSpinner.attachDataSource(dataset); } } diff --git a/app/src/main/res/drawable-v21/background_selector.xml b/app/src/main/res/drawable-v21/background_selector.xml new file mode 100644 index 0000000..b41b393 --- /dev/null +++ b/app/src/main/res/drawable-v21/background_selector.xml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/background_selector.xml b/app/src/main/res/drawable/background_selector.xml index b41b393..41b6168 100644 --- a/app/src/main/res/drawable/background_selector.xml +++ b/app/src/main/res/drawable/background_selector.xml @@ -1,15 +1,5 @@ - - - - - - - - - - \ No newline at end of file + + + + + diff --git a/build.gradle b/build.gradle index 0558d18..78fd874 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.4.0-alpha06' + classpath 'com.android.tools.build:gradle:3.4.0-alpha08' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1f90232..0595c08 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Dec 03 17:04:14 CET 2018 +#Mon Dec 17 14:32:28 CET 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-rc-1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1-milestone-1-all.zip diff --git a/library/build.gradle b/library/build.gradle index ba2bf8f..640b65f 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.0-alpha04' + classpath 'com.android.tools.build:gradle:3.4.0-alpha09' } } diff --git a/library/src/main/java/org/angmarch/views/NiceSpinner.java b/library/src/main/java/org/angmarch/views/NiceSpinner.java index 94c8f0d..f703982 100644 --- a/library/src/main/java/org/angmarch/views/NiceSpinner.java +++ b/library/src/main/java/org/angmarch/views/NiceSpinner.java @@ -11,6 +11,7 @@ import android.os.Parcelable; import android.support.annotation.ColorRes; import android.support.annotation.DrawableRes; +import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import android.support.v4.graphics.drawable.DrawableCompat; import android.support.v4.view.animation.LinearOutSlowInInterpolator; @@ -72,6 +73,8 @@ public class NiceSpinner extends AppCompatTextView { private SpinnerTextFormatter selectedTextFormatter = new SimpleSpinnerTextFormatter(); private PopUpTextAlignment horizontalAlignment; + @Nullable private ObjectAnimator arrowAnimator = null; + public NiceSpinner(Context context) { super(context); init(context, null); @@ -227,6 +230,14 @@ private int getParentVerticalOffset() { return parentVerticalOffset = locationOnScreen[VERTICAL_OFFSET]; } + @Override + protected void onDetachedFromWindow() { + if (arrowAnimator != null) { + arrowAnimator.cancel(); + } + super.onDetachedFromWindow(); + } + @Override protected void onVisibilityChanged(View changedView, int visibility) { super.onVisibilityChanged(changedView, visibility); @@ -349,9 +360,9 @@ public boolean onTouchEvent(MotionEvent event) { private void animateArrow(boolean shouldRotateUp) { int start = shouldRotateUp ? 0 : MAX_LEVEL; int end = shouldRotateUp ? MAX_LEVEL : 0; - ObjectAnimator animator = ObjectAnimator.ofInt(arrowDrawable, "level", start, end); - animator.setInterpolator(new LinearOutSlowInInterpolator()); - animator.start(); + arrowAnimator = ObjectAnimator.ofInt(arrowDrawable, "level", start, end); + arrowAnimator.setInterpolator(new LinearOutSlowInInterpolator()); + arrowAnimator.start(); } public void dismissDropDown() {