diff --git a/.travis.yml b/.travis.yml
index 452e48d..797c2f4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,25 +1,12 @@
language: android
android:
components:
- # Uncomment the lines below if you want to
- # use the latest revision of Android SDK Tools
- # - platform-tools
- # - tools
-
- # The BuildTools version used by your project
- - build-tools-22.0.1
-
- # The SDK version used to compile your project
- - android-22
-
- # Additional components
- - extra-google-google_play_services
- - extra-google-m2repository
- - extra-android-m2repository
- - addon-google_apis-google-19
-
- # Specify at least one system image,
- # if you need to run emulator(s) during your tests
- - sys-img-armeabi-v7a-android-19
- - sys-img-x86-android-17
-script: ./gradlew assembleDebug
+ - tools
+ - platform-tools
+ - build-tools-25.0.2
+ - android-25
+ - extra-android-support
+ - extra
+ - extra-android-m2repository
+script:
+ - ./gradlew assembleDebug
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 49166ee..ab115a3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,8 +9,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:1.1.2'
- classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.10.+'
+ classpath 'com.android.tools.build:gradle:2.2.3'
}
}
diff --git a/demo/build.gradle b/demo/build.gradle
index de31b19..283285c 100644
--- a/demo/build.gradle
+++ b/demo/build.gradle
@@ -1,14 +1,13 @@
-apply plugin: 'android-sdk-manager'
apply plugin: 'com.android.application'
android {
- compileSdkVersion 22
- buildToolsVersion "22.0.1"
+ compileSdkVersion 25
+ buildToolsVersion "25.0.2"
defaultConfig {
- minSdkVersion 8
- targetSdkVersion 22
+ minSdkVersion 11
+ targetSdkVersion 25
versionCode 2
versionName "1.0.1"
}
@@ -22,7 +21,6 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':library')
- compile 'com.android.support:appcompat-v7:22.+'
- compile 'com.nineoldandroids:library:2.4.0'
+ compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.daimajia.androidanimations:library:1.0.3@aar'
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 918e0f3..0128637 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun May 03 23:34:25 CST 2015
+#Fri Feb 17 17:23:25 CST 2017
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
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
diff --git a/library/build.gradle b/library/build.gradle
index b2e8cc6..d096c07 100644
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -1,12 +1,12 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 22
- buildToolsVersion "22.0.1"
+ compileSdkVersion 25
+ buildToolsVersion "25.0.2"
defaultConfig {
- minSdkVersion 8
- targetSdkVersion 22
+ minSdkVersion 11
+ targetSdkVersion 25
versionCode 15
versionName "1.1.5"
}
@@ -22,9 +22,8 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- compile 'com.android.support:appcompat-v7:22.1.1'
- compile "com.android.support:support-v4:22.1.1"
+ compile 'com.android.support:appcompat-v7:25.1.1'
+ compile "com.android.support:support-v4:25.1.1"
compile 'com.squareup.picasso:picasso:2.5.2'
- compile 'com.nineoldandroids:library:2.4.0'
}
apply from: './gradle-mvn-push.gradle'
diff --git a/library/src/main/java/com/daimajia/slider/library/Animations/DescriptionAnimation.java b/library/src/main/java/com/daimajia/slider/library/Animations/DescriptionAnimation.java
index 6c03d99..79cee72 100644
--- a/library/src/main/java/com/daimajia/slider/library/Animations/DescriptionAnimation.java
+++ b/library/src/main/java/com/daimajia/slider/library/Animations/DescriptionAnimation.java
@@ -1,11 +1,11 @@
package com.daimajia.slider.library.Animations;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
+import android.support.v4.view.ViewCompat;
import android.view.View;
import com.daimajia.slider.library.R;
-import com.nineoldandroids.animation.ObjectAnimator;
-import com.nineoldandroids.animation.ValueAnimator;
-import com.nineoldandroids.view.ViewHelper;
/**
* A demo class to show how to use {@link com.daimajia.slider.library.Animations.BaseAnimationInterface}
@@ -49,7 +49,7 @@ public void onNextItemAppear(View view) {
View descriptionLayout = view.findViewById(R.id.description_layout);
if(descriptionLayout!=null){
- float layoutY = ViewHelper.getY(descriptionLayout);
+ float layoutY = ViewCompat.getY(descriptionLayout);
view.findViewById(R.id.description_layout).setVisibility(View.VISIBLE);
ValueAnimator animator = ObjectAnimator.ofFloat(
descriptionLayout,"y",layoutY + descriptionLayout.getHeight(),
diff --git a/library/src/main/java/com/daimajia/slider/library/SliderLayout.java b/library/src/main/java/com/daimajia/slider/library/SliderLayout.java
index ba36e5e..cbce814 100644
--- a/library/src/main/java/com/daimajia/slider/library/SliderLayout.java
+++ b/library/src/main/java/com/daimajia/slider/library/SliderLayout.java
@@ -43,48 +43,46 @@
/**
* SliderLayout is compound layout. This is combined with {@link com.daimajia.slider.library.Indicators.PagerIndicator}
* and {@link com.daimajia.slider.library.Tricks.ViewPagerEx} .
- *
+ *
* There is some properties you can set in XML:
- *
+ *
* indicator_visibility
- * visible
- * invisible
- *
+ * visible
+ * invisible
+ *
* indicator_shape
- * oval
- * rect
- *
+ * oval
+ * rect
+ *
* indicator_selected_color
- *
+ *
* indicator_unselected_color
- *
+ *
* indicator_selected_drawable
- *
+ *
* indicator_unselected_drawable
- *
+ *
* pager_animation
- * Default
- * Accordion
- * Background2Foreground
- * CubeIn
- * DepthPage
- * Fade
- * FlipHorizontal
- * FlipPage
- * Foreground2Background
- * RotateDown
- * RotateUp
- * Stack
- * Tablet
- * ZoomIn
- * ZoomOutSlide
- * ZoomOut
- *
+ * Default
+ * Accordion
+ * Background2Foreground
+ * CubeIn
+ * DepthPage
+ * Fade
+ * FlipHorizontal
+ * FlipPage
+ * Foreground2Background
+ * RotateDown
+ * RotateUp
+ * Stack
+ * Tablet
+ * ZoomIn
+ * ZoomOutSlide
+ * ZoomOut
+ *
* pager_animation_span
- *
- *
*/
-public class SliderLayout extends RelativeLayout{
+public class SliderLayout extends RelativeLayout {
private Context mContext;
/**
@@ -159,11 +157,11 @@ public class SliderLayout extends RelativeLayout{
*/
public SliderLayout(Context context) {
- this(context,null);
+ this(context, null);
}
public SliderLayout(Context context, AttributeSet attrs) {
- this(context,attrs,R.attr.SliderStyle);
+ this(context, attrs, R.attr.SliderStyle);
}
public SliderLayout(Context context, AttributeSet attrs, int defStyle) {
@@ -171,15 +169,15 @@ public SliderLayout(Context context, AttributeSet attrs, int defStyle) {
mContext = context;
LayoutInflater.from(context).inflate(R.layout.slider_layout, this, true);
- final TypedArray attributes = context.getTheme().obtainStyledAttributes(attrs,R.styleable.SliderLayout,
- defStyle,0);
+ final TypedArray attributes = context.getTheme().obtainStyledAttributes(attrs, R.styleable.SliderLayout,
+ defStyle, 0);
mTransformerSpan = attributes.getInteger(R.styleable.SliderLayout_pager_animation_span, 1100);
mTransformerId = attributes.getInt(R.styleable.SliderLayout_pager_animation, Transformer.Default.ordinal());
- mAutoCycle = attributes.getBoolean(R.styleable.SliderLayout_auto_cycle,true);
- int visibility = attributes.getInt(R.styleable.SliderLayout_indicator_visibility,0);
- for(PagerIndicator.IndicatorVisibility v: PagerIndicator.IndicatorVisibility.values()){
- if(v.ordinal() == visibility){
+ mAutoCycle = attributes.getBoolean(R.styleable.SliderLayout_auto_cycle, true);
+ int visibility = attributes.getInt(R.styleable.SliderLayout_indicator_visibility, 0);
+ for (PagerIndicator.IndicatorVisibility v : PagerIndicator.IndicatorVisibility.values()) {
+ if (v.ordinal() == visibility) {
mIndicatorVisibility = v;
break;
}
@@ -187,7 +185,7 @@ public SliderLayout(Context context, AttributeSet attrs, int defStyle) {
mSliderAdapter = new SliderAdapter(mContext);
PagerAdapter wrappedAdapter = new InfinitePagerAdapter(mSliderAdapter);
- mViewPager = (InfiniteViewPager)findViewById(R.id.daimajia_slider_viewpager);
+ mViewPager = (InfiniteViewPager) findViewById(R.id.daimajia_slider_viewpager);
mViewPager.setAdapter(wrappedAdapter);
mViewPager.setOnTouchListener(new OnTouchListener() {
@@ -195,7 +193,7 @@ public SliderLayout(Context context, AttributeSet attrs, int defStyle) {
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
- case MotionEvent.ACTION_UP:
+ case MotionEvent.ACTION_UP:
recoverCycle();
break;
}
@@ -206,15 +204,15 @@ public boolean onTouch(View v, MotionEvent event) {
attributes.recycle();
setPresetIndicator(PresetIndicators.Center_Bottom);
setPresetTransformer(mTransformerId);
- setSliderTransformDuration(mTransformerSpan,null);
+ setSliderTransformDuration(mTransformerSpan, null);
setIndicatorVisibility(mIndicatorVisibility);
- if(mAutoCycle){
+ if (mAutoCycle) {
startAutoCycle();
}
}
- public void addOnPageChangeListener(ViewPagerEx.OnPageChangeListener onPageChangeListener){
- if(onPageChangeListener != null){
+ public void addOnPageChangeListener(ViewPagerEx.OnPageChangeListener onPageChangeListener) {
+ if (onPageChangeListener != null) {
mViewPager.addOnPageChangeListener(onPageChangeListener);
}
}
@@ -223,8 +221,8 @@ public void removeOnPageChangeListener(ViewPagerEx.OnPageChangeListener onPageCh
mViewPager.removeOnPageChangeListener(onPageChangeListener);
}
- public void setCustomIndicator(PagerIndicator indicator){
- if(mIndicator != null){
+ public void setCustomIndicator(PagerIndicator indicator) {
+ if (mIndicator != null) {
mIndicator.destroySelf();
}
mIndicator = indicator;
@@ -233,11 +231,11 @@ public void setCustomIndicator(PagerIndicator indicator){
mIndicator.redraw();
}
- public void addSlider(T imageContent){
+ public void addSlider(T imageContent) {
mSliderAdapter.addSlider(imageContent);
}
- private android.os.Handler mh = new android.os.Handler(){
+ private android.os.Handler mh = new android.os.Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
@@ -245,21 +243,22 @@ public void handleMessage(Message msg) {
}
};
- public void startAutoCycle(){
+ public void startAutoCycle() {
startAutoCycle(mSliderDuration, mSliderDuration, mAutoRecover);
}
/**
* start auto cycle.
- * @param delay delay time
- * @param duration animation duration time.
+ *
+ * @param delay delay time
+ * @param duration animation duration time.
* @param autoRecover if recover after user touches the slider.
*/
- public void startAutoCycle(long delay,long duration,boolean autoRecover){
- if(mCycleTimer != null) mCycleTimer.cancel();
- if(mCycleTask != null) mCycleTask.cancel();
- if(mResumingTask != null) mResumingTask.cancel();
- if(mResumingTimer != null) mResumingTimer.cancel();
+ public void startAutoCycle(long delay, long duration, boolean autoRecover) {
+ if (mCycleTimer != null) mCycleTimer.cancel();
+ if (mCycleTask != null) mCycleTask.cancel();
+ if (mResumingTask != null) mResumingTask.cancel();
+ if (mResumingTimer != null) mResumingTimer.cancel();
mSliderDuration = duration;
mCycleTimer = new Timer();
mAutoRecover = autoRecover;
@@ -269,7 +268,7 @@ public void run() {
mh.sendEmptyMessage(0);
}
};
- mCycleTimer.schedule(mCycleTask,delay,mSliderDuration);
+ mCycleTimer.schedule(mCycleTask, delay, mSliderDuration);
mCycling = true;
mAutoCycle = true;
}
@@ -277,13 +276,13 @@ public void run() {
/**
* pause auto cycle.
*/
- private void pauseAutoCycle(){
- if(mCycling){
+ private void pauseAutoCycle() {
+ if (mCycling) {
mCycleTimer.cancel();
mCycleTask.cancel();
mCycling = false;
- }else{
- if(mResumingTimer != null && mResumingTask != null){
+ } else {
+ if (mResumingTimer != null && mResumingTask != null) {
recoverCycle();
}
}
@@ -291,12 +290,13 @@ private void pauseAutoCycle(){
/**
* set the duration between two slider changes. the duration value must >= 500
+ *
* @param duration
*/
- public void setDuration(long duration){
- if(duration >= 500){
+ public void setDuration(long duration) {
+ if (duration >= 500) {
mSliderDuration = duration;
- if(mAutoCycle && mCycling){
+ if (mAutoCycle && mCycling) {
startAutoCycle();
}
}
@@ -305,17 +305,17 @@ public void setDuration(long duration){
/**
* stop the auto circle
*/
- public void stopAutoCycle(){
- if(mCycleTask!=null){
+ public void stopAutoCycle() {
+ if (mCycleTask != null) {
mCycleTask.cancel();
}
- if(mCycleTimer!= null){
+ if (mCycleTimer != null) {
mCycleTimer.cancel();
}
- if(mResumingTimer!= null){
+ if (mResumingTimer != null) {
mResumingTimer.cancel();
}
- if(mResumingTask!=null){
+ if (mResumingTask != null) {
mResumingTask.cancel();
}
mAutoCycle = false;
@@ -325,13 +325,13 @@ public void stopAutoCycle(){
/**
* when paused cycle, this method can weak it up.
*/
- private void recoverCycle(){
- if(!mAutoRecover || !mAutoCycle){
+ private void recoverCycle() {
+ if (!mAutoRecover || !mAutoCycle) {
return;
}
- if(!mCycling){
- if(mResumingTask != null && mResumingTimer!= null){
+ if (!mCycling) {
+ if (mResumingTask != null && mResumingTimer != null) {
mResumingTimer.cancel();
mResumingTask.cancel();
}
@@ -347,7 +347,6 @@ public void run() {
}
-
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
int action = ev.getAction();
@@ -361,29 +360,30 @@ public boolean onInterceptTouchEvent(MotionEvent ev) {
/**
* set ViewPager transformer.
+ *
* @param reverseDrawingOrder
* @param transformer
*/
- public void setPagerTransformer(boolean reverseDrawingOrder,BaseTransformer transformer){
+ public void setPagerTransformer(boolean reverseDrawingOrder, BaseTransformer transformer) {
mViewPagerTransformer = transformer;
mViewPagerTransformer.setCustomAnimationInterface(mCustomAnimation);
- mViewPager.setPageTransformer(reverseDrawingOrder,mViewPagerTransformer);
+ mViewPager.setPageTransformer(reverseDrawingOrder, mViewPagerTransformer);
}
-
/**
* set the duration between two slider changes.
+ *
* @param period
* @param interpolator
*/
- public void setSliderTransformDuration(int period,Interpolator interpolator){
- try{
+ public void setSliderTransformDuration(int period, Interpolator interpolator) {
+ try {
Field mScroller = ViewPagerEx.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);
- FixedSpeedScroller scroller = new FixedSpeedScroller(mViewPager.getContext(),interpolator, period);
- mScroller.set(mViewPager,scroller);
- }catch (Exception e){
+ FixedSpeedScroller scroller = new FixedSpeedScroller(mViewPager.getContext(), interpolator, period);
+ mScroller.set(mViewPager, scroller);
+ } catch (Exception e) {
}
}
@@ -391,7 +391,7 @@ public void setSliderTransformDuration(int period,Interpolator interpolator){
/**
* preset transformers and their names
*/
- public enum Transformer{
+ public enum Transformer {
Default("Default"),
Accordion("Accordion"),
Background2Foreground("Background2Foreground"),
@@ -411,25 +411,29 @@ public enum Transformer{
private final String name;
- private Transformer(String s){
+ private Transformer(String s) {
name = s;
}
- public String toString(){
+
+ public String toString() {
return name;
}
- public boolean equals(String other){
- return (other == null)? false:name.equals(other);
+ public boolean equals(String other) {
+ return (other == null) ? false : name.equals(other);
}
- };
+ }
+
+ ;
/**
* set a preset viewpager transformer by id.
+ *
* @param transformerId
*/
- public void setPresetTransformer(int transformerId){
- for(Transformer t : Transformer.values()){
- if(t.ordinal() == transformerId){
+ public void setPresetTransformer(int transformerId) {
+ for (Transformer t : Transformer.values()) {
+ if (t.ordinal() == transformerId) {
setPresetTransformer(t);
break;
}
@@ -438,11 +442,12 @@ public void setPresetTransformer(int transformerId){
/**
* set preset PagerTransformer via the name of transforemer.
+ *
* @param transformerName
*/
- public void setPresetTransformer(String transformerName){
- for(Transformer t : Transformer.values()){
- if(t.equals(transformerName)){
+ public void setPresetTransformer(String transformerName) {
+ for (Transformer t : Transformer.values()) {
+ if (t.equals(transformerName)) {
setPresetTransformer(t);
return;
}
@@ -453,11 +458,12 @@ public void setPresetTransformer(String transformerName){
* Inject your custom animation into PageTransformer, you can know more details in
* {@link com.daimajia.slider.library.Animations.BaseAnimationInterface},
* and you can see a example in {@link com.daimajia.slider.library.Animations.DescriptionAnimation}
+ *
* @param animation
*/
- public void setCustomAnimation(BaseAnimationInterface animation){
+ public void setCustomAnimation(BaseAnimationInterface animation) {
mCustomAnimation = animation;
- if(mViewPagerTransformer != null){
+ if (mViewPagerTransformer != null) {
mViewPagerTransformer.setCustomAnimationInterface(mCustomAnimation);
}
}
@@ -467,12 +473,12 @@ public void setCustomAnimation(BaseAnimationInterface animation){
*
* @param ts
*/
- public void setPresetTransformer(Transformer ts){
+ public void setPresetTransformer(Transformer ts) {
//
// special thanks to https://github.com/ToxicBakery/ViewPagerTransforms
//
BaseTransformer t = null;
- switch (ts){
+ switch (ts) {
case Default:
t = new DefaultTransformer();
break;
@@ -522,25 +528,25 @@ public void setPresetTransformer(Transformer ts){
t = new ZoomOutTransformer();
break;
}
- setPagerTransformer(true,t);
+ setPagerTransformer(true, t);
}
-
/**
* Set the visibility of the indicators.
+ *
* @param visibility
*/
- public void setIndicatorVisibility(PagerIndicator.IndicatorVisibility visibility){
- if(mIndicator == null){
+ public void setIndicatorVisibility(PagerIndicator.IndicatorVisibility visibility) {
+ if (mIndicator == null) {
return;
}
mIndicator.setIndicatorVisibility(visibility);
}
- public PagerIndicator.IndicatorVisibility getIndicatorVisibility(){
- if(mIndicator == null){
+ public PagerIndicator.IndicatorVisibility getIndicatorVisibility() {
+ if (mIndicator == null) {
return mIndicator.getIndicatorVisibility();
}
return PagerIndicator.IndicatorVisibility.Invisible;
@@ -550,64 +556,68 @@ public PagerIndicator.IndicatorVisibility getIndicatorVisibility(){
/**
* get the {@link com.daimajia.slider.library.Indicators.PagerIndicator} instance.
* You can manipulate the properties of the indicator.
+ *
* @return
*/
- public PagerIndicator getPagerIndicator(){
+ public PagerIndicator getPagerIndicator() {
return mIndicator;
}
- public enum PresetIndicators{
- Center_Bottom("Center_Bottom",R.id.default_center_bottom_indicator),
- Right_Bottom("Right_Bottom",R.id.default_bottom_right_indicator),
- Left_Bottom("Left_Bottom",R.id.default_bottom_left_indicator),
- Center_Top("Center_Top",R.id.default_center_top_indicator),
- Right_Top("Right_Top",R.id.default_center_top_right_indicator),
- Left_Top("Left_Top",R.id.default_center_top_left_indicator);
+ public enum PresetIndicators {
+ Center_Bottom("Center_Bottom", R.id.default_center_bottom_indicator),
+ Right_Bottom("Right_Bottom", R.id.default_bottom_right_indicator),
+ Left_Bottom("Left_Bottom", R.id.default_bottom_left_indicator),
+ Center_Top("Center_Top", R.id.default_center_top_indicator),
+ Right_Top("Right_Top", R.id.default_center_top_right_indicator),
+ Left_Top("Left_Top", R.id.default_center_top_left_indicator);
private final String name;
private final int id;
- private PresetIndicators(String name,int id){
+
+ private PresetIndicators(String name, int id) {
this.name = name;
this.id = id;
}
- public String toString(){
+ public String toString() {
return name;
}
- public int getResourceId(){
+ public int getResourceId() {
return id;
}
}
- public void setPresetIndicator(PresetIndicators presetIndicator){
- PagerIndicator pagerIndicator = (PagerIndicator)findViewById(presetIndicator.getResourceId());
+
+ public void setPresetIndicator(PresetIndicators presetIndicator) {
+ PagerIndicator pagerIndicator = (PagerIndicator) findViewById(presetIndicator.getResourceId());
setCustomIndicator(pagerIndicator);
}
- private InfinitePagerAdapter getWrapperAdapter(){
+ private InfinitePagerAdapter getWrapperAdapter() {
PagerAdapter adapter = mViewPager.getAdapter();
- if(adapter!=null){
- return (InfinitePagerAdapter)adapter;
- }else{
+ if (adapter != null) {
+ return (InfinitePagerAdapter) adapter;
+ } else {
return null;
}
}
- private SliderAdapter getRealAdapter(){
+ private SliderAdapter getRealAdapter() {
PagerAdapter adapter = mViewPager.getAdapter();
- if(adapter!=null){
- return ((InfinitePagerAdapter)adapter).getRealAdapter();
+ if (adapter != null) {
+ return ((InfinitePagerAdapter) adapter).getRealAdapter();
}
return null;
}
/**
* get the current item position
+ *
* @return
*/
- public int getCurrentPosition(){
+ public int getCurrentPosition() {
- if(getRealAdapter() == null)
+ if (getRealAdapter() == null)
throw new IllegalStateException("You did not set a slider adapter");
return mViewPager.getCurrentItem() % getRealAdapter().getCount();
@@ -616,49 +626,51 @@ public int getCurrentPosition(){
/**
* get current slider.
+ *
* @return
*/
- public BaseSliderView getCurrentSlider(){
+ public BaseSliderView getCurrentSlider() {
- if(getRealAdapter() == null)
+ if (getRealAdapter() == null)
throw new IllegalStateException("You did not set a slider adapter");
int count = getRealAdapter().getCount();
int realCount = mViewPager.getCurrentItem() % count;
- return getRealAdapter().getSliderView(realCount);
+ return getRealAdapter().getSliderView(realCount);
}
/**
* remove the slider at the position. Notice: It's a not perfect method, a very small bug still exists.
*/
- public void removeSliderAt(int position){
- if(getRealAdapter()!=null){
+ public void removeSliderAt(int position) {
+ if (getRealAdapter() != null) {
getRealAdapter().removeSliderAt(position);
- mViewPager.setCurrentItem(mViewPager.getCurrentItem(),false);
+ mViewPager.setCurrentItem(mViewPager.getCurrentItem(), false);
}
}
/**
* remove all the sliders. Notice: It's a not perfect method, a very small bug still exists.
*/
- public void removeAllSliders(){
- if(getRealAdapter()!=null){
+ public void removeAllSliders() {
+ if (getRealAdapter() != null) {
int count = getRealAdapter().getCount();
getRealAdapter().removeAllSliders();
//a small bug, but fixed by this trick.
//bug: when remove adapter's all the sliders.some caching slider still alive.
- mViewPager.setCurrentItem(mViewPager.getCurrentItem() + count,false);
+ mViewPager.setCurrentItem(mViewPager.getCurrentItem() + count, false);
}
}
/**
- *set current slider
+ * set current slider
+ *
* @param position
*/
public void setCurrentPosition(int position, boolean smooth) {
if (getRealAdapter() == null)
throw new IllegalStateException("You did not set a slider adapter");
- if(position >= getRealAdapter().getCount()){
+ if (position >= getRealAdapter().getCount()) {
throw new IllegalStateException("Item position is not exist");
}
int p = mViewPager.getCurrentItem() % getRealAdapter().getCount();
@@ -681,7 +693,7 @@ public void movePrevPosition(boolean smooth) {
mViewPager.setCurrentItem(mViewPager.getCurrentItem() - 1, smooth);
}
- public void movePrevPosition(){
+ public void movePrevPosition() {
movePrevPosition(true);
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/AccordionTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/AccordionTransformer.java
index e159b9b..180e624 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/AccordionTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/AccordionTransformer.java
@@ -3,16 +3,17 @@
/**
* Created by daimajia on 14-5-29.
*/
+
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class AccordionTransformer extends BaseTransformer {
@Override
protected void onTransform(View view, float position) {
- ViewHelper.setPivotX(view,position < 0 ? 0 : view.getWidth());
- ViewHelper.setScaleX(view,position < 0 ? 1f + position : 1f - position);
+ ViewCompat.setPivotX(view, position < 0 ? 0 : view.getWidth());
+ ViewCompat.setScaleX(view, position < 0 ? 1f + position : 1f - position);
}
}
\ No newline at end of file
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/BackgroundToForegroundTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/BackgroundToForegroundTransformer.java
index d5e1572..e28f920 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/BackgroundToForegroundTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/BackgroundToForegroundTransformer.java
@@ -1,26 +1,26 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class BackgroundToForegroundTransformer extends BaseTransformer {
- @Override
- protected void onTransform(View view, float position) {
- final float height = view.getHeight();
- final float width = view.getWidth();
- final float scale = min(position < 0 ? 1f : Math.abs(1f - position), 0.5f);
+ @Override
+ protected void onTransform(View view, float position) {
+ final float height = view.getHeight();
+ final float width = view.getWidth();
+ final float scale = min(position < 0 ? 1f : Math.abs(1f - position), 0.5f);
- ViewHelper.setScaleX(view,scale);
- ViewHelper.setScaleY(view,scale);
- ViewHelper.setPivotX(view,width*0.5f);
- ViewHelper.setPivotY(view,height*0.5f);
- ViewHelper.setTranslationX(view,position < 0 ? width * position : -width * position * 0.25f);
- }
+ ViewCompat.setScaleX(view, scale);
+ ViewCompat.setScaleY(view, scale);
+ ViewCompat.setPivotX(view, width * 0.5f);
+ ViewCompat.setPivotY(view, height * 0.5f);
+ ViewCompat.setTranslationX(view, position < 0 ? width * position : -width * position * 0.25f);
+ }
- private static final float min(float val, float min) {
- return val < min ? min : val;
- }
+ private static final float min(float val, float min) {
+ return val < min ? min : val;
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/BaseTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/BaseTransformer.java
index c1a78b9..204139a 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/BaseTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/BaseTransformer.java
@@ -1,26 +1,26 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
import com.daimajia.slider.library.Animations.BaseAnimationInterface;
import com.daimajia.slider.library.Tricks.ViewPagerEx;
-import com.nineoldandroids.view.ViewHelper;
import java.util.ArrayList;
import java.util.HashMap;
/**
* This is all transformers father.
- *
+ *
* BaseTransformer implement {@link com.daimajia.slider.library.Tricks.ViewPagerEx.PageTransformer}
* which is just same as {@link android.support.v4.view.ViewPager.PageTransformer}.
- *
+ *
* After you call setPageTransformer(), transformPage() will be called by {@link com.daimajia.slider.library.Tricks.ViewPagerEx}
* when your slider are animating.
- *
+ *
* In onPreTransform() function, that will make {@link com.daimajia.slider.library.Animations.BaseAnimationInterface}
* work.
- *
+ *
* if you want to make an acceptable transformer, please do not forget to extend from this class.
*/
public abstract class BaseTransformer implements ViewPagerEx.PageTransformer {
@@ -35,7 +35,7 @@ public abstract class BaseTransformer implements ViewPagerEx.PageTransformer {
*/
protected abstract void onTransform(View view, float position);
- private HashMap> h = new HashMap>();
+ private HashMap> h = new HashMap>();
@Override
public void transformPage(View view, float position) {
@@ -72,44 +72,44 @@ protected boolean isPagingEnabled() {
protected void onPreTransform(View view, float position) {
final float width = view.getWidth();
- ViewHelper.setRotationX(view,0);
- ViewHelper.setRotationY(view,0);
- ViewHelper.setRotation(view,0);
- ViewHelper.setScaleX(view,1);
- ViewHelper.setScaleY(view,1);
- ViewHelper.setPivotX(view,0);
- ViewHelper.setPivotY(view,0);
- ViewHelper.setTranslationY(view,0);
- ViewHelper.setTranslationX(view,isPagingEnabled() ? 0f : -width * position);
+ ViewCompat.setRotationX(view, 0);
+ ViewCompat.setRotationY(view, 0);
+ ViewCompat.setRotation(view, 0);
+ ViewCompat.setScaleX(view, 1);
+ ViewCompat.setScaleY(view, 1);
+ ViewCompat.setPivotX(view, 0);
+ ViewCompat.setPivotY(view, 0);
+ ViewCompat.setTranslationY(view, 0);
+ ViewCompat.setTranslationX(view, isPagingEnabled() ? 0f : -width * position);
if (hideOffscreenPages()) {
- ViewHelper.setAlpha(view,position <= -1f || position >= 1f ? 0f : 1f);
+ ViewCompat.setAlpha(view, position <= -1f || position >= 1f ? 0f : 1f);
} else {
- ViewHelper.setAlpha(view,1f);
+ ViewCompat.setAlpha(view, 1f);
}
- if(mCustomAnimationInterface != null){
- if(h.containsKey(view) == false || h.get(view).size() == 1){
- if(position > -1 && position < 1){
- if(h.get(view) == null){
- h.put(view,new ArrayList());
+ if (mCustomAnimationInterface != null) {
+ if (!h.containsKey(view) || h.get(view).size() == 1) {
+ if (position > -1 && position < 1) {
+ if (h.get(view) == null) {
+ h.put(view, new ArrayList());
}
h.get(view).add(position);
- if(h.get(view).size() == 2){
+ if (h.get(view).size() == 2) {
float zero = h.get(view).get(0);
float cha = h.get(view).get(1) - h.get(view).get(0);
- if(zero > 0){
- if(cha > -1 && cha < 0){
+ if (zero > 0) {
+ if (cha > -1 && cha < 0) {
//in
mCustomAnimationInterface.onPrepareNextItemShowInScreen(view);
- }else{
+ } else {
//out
mCustomAnimationInterface.onPrepareCurrentItemLeaveScreen(view);
}
- }else{
- if(cha > -1 && cha < 0){
+ } else {
+ if (cha > -1 && cha < 0) {
//out
mCustomAnimationInterface.onPrepareCurrentItemLeaveScreen(view);
- }else{
+ } else {
//in
mCustomAnimationInterface.onPrepareNextItemShowInScreen(view);
}
@@ -119,7 +119,9 @@ protected void onPreTransform(View view, float position) {
}
}
}
- boolean isApp,isDis;
+
+ boolean isApp, isDis;
+
/**
* Called each {@link #transformPage(View, float)} call after {@link #onTransform(View, float)} is finished.
*
@@ -127,15 +129,15 @@ protected void onPreTransform(View view, float position) {
* @param position
*/
protected void onPostTransform(View view, float position) {
- if(mCustomAnimationInterface != null){
- if(position == -1 || position == 1){
+ if (mCustomAnimationInterface != null) {
+ if (position == -1 || position == 1) {
mCustomAnimationInterface.onCurrentItemDisappear(view);
isApp = true;
- }else if(position == 0){
+ } else if (position == 0) {
mCustomAnimationInterface.onNextItemAppear(view);
isDis = true;
}
- if(isApp && isDis){
+ if (isApp && isDis) {
h.clear();
isApp = false;
isDis = false;
@@ -144,7 +146,7 @@ protected void onPostTransform(View view, float position) {
}
- public void setCustomAnimationInterface(BaseAnimationInterface animationInterface){
+ public void setCustomAnimationInterface(BaseAnimationInterface animationInterface) {
mCustomAnimationInterface = animationInterface;
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/CubeInTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/CubeInTransformer.java
index 8a8c382..831350b 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/CubeInTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/CubeInTransformer.java
@@ -1,22 +1,22 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class CubeInTransformer extends BaseTransformer {
- @Override
- protected void onTransform(View view, float position) {
- // Rotate the fragment on the left or right edge
- ViewHelper.setPivotX(view,position > 0 ? 0 : view.getWidth());
- ViewHelper.setPivotY(view,0);
- ViewHelper.setRotation(view,-90f * position);
- }
+ @Override
+ protected void onTransform(View view, float position) {
+ // Rotate the fragment on the left or right edge
+ ViewCompat.setPivotX(view, position > 0 ? 0 : view.getWidth());
+ ViewCompat.setPivotY(view, 0);
+ ViewCompat.setRotation(view, -90f * position);
+ }
- @Override
- public boolean isPagingEnabled() {
- return true;
- }
+ @Override
+ public boolean isPagingEnabled() {
+ return true;
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/DepthPageTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/DepthPageTransformer.java
index c72e0da..a05f1e1 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/DepthPageTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/DepthPageTransformer.java
@@ -1,32 +1,32 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class DepthPageTransformer extends BaseTransformer {
- private static final float MIN_SCALE = 0.75f;
+ private static final float MIN_SCALE = 0.75f;
- @Override
- protected void onTransform(View view, float position) {
- if (position <= 0f) {
- ViewHelper.setTranslationX(view,0f);
- ViewHelper.setScaleX(view,1f);
- ViewHelper.setScaleY(view,1f);
- } else if (position <= 1f) {
- final float scaleFactor = MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position));
- ViewHelper.setAlpha(view,1-position);
- ViewHelper.setPivotY(view,0.5f * view.getHeight());
- ViewHelper.setTranslationX(view,view.getWidth() * - position);
- ViewHelper.setScaleX(view,scaleFactor);
- ViewHelper.setScaleY(view,scaleFactor);
- }
- }
+ @Override
+ protected void onTransform(View view, float position) {
+ if (position <= 0f) {
+ ViewCompat.setTranslationX(view, 0f);
+ ViewCompat.setScaleX(view, 1f);
+ ViewCompat.setScaleY(view, 1f);
+ } else if (position <= 1f) {
+ final float scaleFactor = MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position));
+ ViewCompat.setAlpha(view, 1 - position);
+ ViewCompat.setPivotY(view, 0.5f * view.getHeight());
+ ViewCompat.setTranslationX(view, view.getWidth() * -position);
+ ViewCompat.setScaleX(view, scaleFactor);
+ ViewCompat.setScaleY(view, scaleFactor);
+ }
+ }
- @Override
- protected boolean isPagingEnabled() {
- return true;
- }
+ @Override
+ protected boolean isPagingEnabled() {
+ return true;
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/FadeTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/FadeTransformer.java
index c202ab3..89af2de 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/FadeTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/FadeTransformer.java
@@ -1,8 +1,8 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
/**
* Created by realandylawton on 11/22/13.
@@ -13,20 +13,20 @@ public class FadeTransformer extends BaseTransformer {
protected void onTransform(View view, float position) {
// Page is not an immediate sibling, just make transparent
- if(position < -1 || position > 1) {
- ViewHelper.setAlpha(view,0.6f);
+ if (position < -1 || position > 1) {
+ ViewCompat.setAlpha(view, 0.6f);
}
// Page is sibling to left or right
else if (position <= 0 || position <= 1) {
// Calculate alpha. Position is decimal in [-1,0] or [0,1]
float alpha = (position <= 0) ? position + 1 : 1 - position;
- ViewHelper.setAlpha(view,alpha);
+ ViewCompat.setAlpha(view, alpha);
}
// Page is active, make fully visible
else if (position == 0) {
- ViewHelper.setAlpha(view,1);
+ ViewCompat.setAlpha(view, 1);
}
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/FlipHorizontalTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/FlipHorizontalTransformer.java
index ada24aa..6ce2e32 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/FlipHorizontalTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/FlipHorizontalTransformer.java
@@ -1,18 +1,18 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class FlipHorizontalTransformer extends BaseTransformer {
- @Override
- protected void onTransform(View view, float position) {
- final float rotation = 180f * position;
- ViewHelper.setAlpha(view,rotation > 90f || rotation < -90f ? 0 : 1);
- ViewHelper.setPivotY(view,view.getHeight()*0.5f);
- ViewHelper.setPivotX(view,view.getWidth() * 0.5f);
- ViewHelper.setRotationY(view,rotation);
- }
+ @Override
+ protected void onTransform(View view, float position) {
+ final float rotation = 180f * position;
+ ViewCompat.setAlpha(view, rotation > 90f || rotation < -90f ? 0 : 1);
+ ViewCompat.setPivotY(view, view.getHeight() * 0.5f);
+ ViewCompat.setPivotX(view, view.getWidth() * 0.5f);
+ ViewCompat.setRotationY(view, rotation);
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/FlipPageViewTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/FlipPageViewTransformer.java
index 31b0cf1..72bc756 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/FlipPageViewTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/FlipPageViewTransformer.java
@@ -1,17 +1,17 @@
package com.daimajia.slider.library.Transformers;
import android.os.Build;
+import android.support.v4.view.ViewCompat;
import android.view.View;
import com.daimajia.slider.library.Tricks.ViewPagerEx;
-import com.nineoldandroids.view.ViewHelper;
public class FlipPageViewTransformer extends BaseTransformer {
@Override
protected void onTransform(View view, float position) {
float percentage = 1 - Math.abs(position);
- if(Build.VERSION.SDK_INT >= 13){
+ if (Build.VERSION.SDK_INT >= 13) {
view.setCameraDistance(12000);
}
setVisibility(view, position);
@@ -31,19 +31,19 @@ private void setVisibility(View page, float position) {
private void setTranslation(View view) {
ViewPagerEx viewPager = (ViewPagerEx) view.getParent();
int scroll = viewPager.getScrollX() - view.getLeft();
- ViewHelper.setTranslationX(view,scroll);
+ ViewCompat.setTranslationX(view, scroll);
}
private void setSize(View view, float position, float percentage) {
- ViewHelper.setScaleX(view,(position != 0 && position != 1) ? percentage : 1);
- ViewHelper.setScaleY(view,(position != 0 && position != 1) ? percentage : 1);
+ ViewCompat.setScaleX(view, (position != 0 && position != 1) ? percentage : 1);
+ ViewCompat.setScaleY(view, (position != 0 && position != 1) ? percentage : 1);
}
private void setRotation(View view, float position, float percentage) {
if (position > 0) {
- ViewHelper.setRotationY(view,-180 * (percentage + 1));
+ ViewCompat.setRotationY(view, -180 * (percentage + 1));
} else {
- ViewHelper.setRotationY(view,180 * (percentage + 1));
+ ViewCompat.setRotationY(view, 180 * (percentage + 1));
}
}
}
\ No newline at end of file
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/ForegroundToBackgroundTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/ForegroundToBackgroundTransformer.java
index 7f53c98..3809069 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/ForegroundToBackgroundTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/ForegroundToBackgroundTransformer.java
@@ -1,26 +1,26 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class ForegroundToBackgroundTransformer extends BaseTransformer {
- @Override
- protected void onTransform(View view, float position) {
- final float height = view.getHeight();
- final float width = view.getWidth();
- final float scale = min(position > 0 ? 1f : Math.abs(1f + position), 0.5f);
+ @Override
+ protected void onTransform(View view, float position) {
+ final float height = view.getHeight();
+ final float width = view.getWidth();
+ final float scale = min(position > 0 ? 1f : Math.abs(1f + position), 0.5f);
- ViewHelper.setScaleX(view,scale);
- ViewHelper.setScaleY(view,scale);
- ViewHelper.setPivotX(view,width * 0.5f);
- ViewHelper.setPivotY(view,height * 0.5f);
- ViewHelper.setTranslationX(view,position > 0 ? width * position : -width * position * 0.25f);
- }
+ ViewCompat.setScaleX(view, scale);
+ ViewCompat.setScaleY(view, scale);
+ ViewCompat.setPivotX(view, width * 0.5f);
+ ViewCompat.setPivotY(view, height * 0.5f);
+ ViewCompat.setTranslationX(view, position > 0 ? width * position : -width * position * 0.25f);
+ }
- private static final float min(float val, float min) {
- return val < min ? min : val;
- }
+ private static final float min(float val, float min) {
+ return val < min ? min : val;
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/RotateDownTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/RotateDownTransformer.java
index a88bc22..a3054e7 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/RotateDownTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/RotateDownTransformer.java
@@ -1,27 +1,27 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class RotateDownTransformer extends BaseTransformer {
- private static final float ROT_MOD = -15f;
-
- @Override
- protected void onTransform(View view, float position) {
- final float width = view.getWidth();
- final float height = view.getHeight();
- final float rotation = ROT_MOD * position * -1.25f;
-
- ViewHelper.setPivotX(view,width * 0.5f);
- ViewHelper.setPivotY(view,height);
- ViewHelper.setRotation(view,rotation);
- }
-
- @Override
- protected boolean isPagingEnabled() {
- return true;
- }
+ private static final float ROT_MOD = -15f;
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float width = view.getWidth();
+ final float height = view.getHeight();
+ final float rotation = ROT_MOD * position * -1.25f;
+
+ ViewCompat.setPivotX(view, width * 0.5f);
+ ViewCompat.setPivotY(view, height);
+ ViewCompat.setRotation(view, rotation);
+ }
+
+ @Override
+ protected boolean isPagingEnabled() {
+ return true;
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/RotateUpTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/RotateUpTransformer.java
index 2619f3a..f38689b 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/RotateUpTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/RotateUpTransformer.java
@@ -1,27 +1,27 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class RotateUpTransformer extends BaseTransformer {
- private static final float ROT_MOD = -15f;
-
- @Override
- protected void onTransform(View view, float position) {
- final float width = view.getWidth();
- final float rotation = ROT_MOD * position;
-
- ViewHelper.setPivotX(view,width * 0.5f);
- ViewHelper.setPivotY(view,0f);
- ViewHelper.setTranslationX(view,0f);
- ViewHelper.setRotation(view,rotation);
- }
-
- @Override
- protected boolean isPagingEnabled() {
- return true;
- }
+ private static final float ROT_MOD = -15f;
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float width = view.getWidth();
+ final float rotation = ROT_MOD * position;
+
+ ViewCompat.setPivotX(view, width * 0.5f);
+ ViewCompat.setPivotY(view, 0f);
+ ViewCompat.setTranslationX(view, 0f);
+ ViewCompat.setRotation(view, rotation);
+ }
+
+ @Override
+ protected boolean isPagingEnabled() {
+ return true;
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/StackTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/StackTransformer.java
index 495d7a2..d8f6fee 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/StackTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/StackTransformer.java
@@ -1,14 +1,14 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class StackTransformer extends BaseTransformer {
- @Override
- protected void onTransform(View view, float position) {
- ViewHelper.setTranslationX(view,position < 0 ? 0f : -view.getWidth() * position);
- }
+ @Override
+ protected void onTransform(View view, float position) {
+ ViewCompat.setTranslationX(view, position < 0 ? 0f : -view.getWidth() * position);
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/TabletTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/TabletTransformer.java
index e2fb6ce..fff75d7 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/TabletTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/TabletTransformer.java
@@ -2,39 +2,39 @@
import android.graphics.Camera;
import android.graphics.Matrix;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class TabletTransformer extends BaseTransformer {
- private static final Matrix OFFSET_MATRIX = new Matrix();
- private static final Camera OFFSET_CAMERA = new Camera();
- private static final float[] OFFSET_TEMP_FLOAT = new float[2];
-
- @Override
- protected void onTransform(View view, float position) {
- final float rotation = (position < 0 ? 30f : -30f) * Math.abs(position);
-
- ViewHelper.setTranslationX(view,getOffsetXForRotation(rotation, view.getWidth(), view.getHeight()));
- ViewHelper.setPivotX(view,view.getWidth() * 0.5f);
- ViewHelper.setPivotY(view,0);
- ViewHelper.setRotationY(view,rotation);
- }
-
- protected static final float getOffsetXForRotation(float degrees, int width, int height) {
- OFFSET_MATRIX.reset();
- OFFSET_CAMERA.save();
- OFFSET_CAMERA.rotateY(Math.abs(degrees));
- OFFSET_CAMERA.getMatrix(OFFSET_MATRIX);
- OFFSET_CAMERA.restore();
-
- OFFSET_MATRIX.preTranslate(-width * 0.5f, -height * 0.5f);
- OFFSET_MATRIX.postTranslate(width * 0.5f, height * 0.5f);
- OFFSET_TEMP_FLOAT[0] = width;
- OFFSET_TEMP_FLOAT[1] = height;
- OFFSET_MATRIX.mapPoints(OFFSET_TEMP_FLOAT);
- return (width - OFFSET_TEMP_FLOAT[0]) * (degrees > 0.0f ? 1.0f : -1.0f);
- }
+ private static final Matrix OFFSET_MATRIX = new Matrix();
+ private static final Camera OFFSET_CAMERA = new Camera();
+ private static final float[] OFFSET_TEMP_FLOAT = new float[2];
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float rotation = (position < 0 ? 30f : -30f) * Math.abs(position);
+
+ ViewCompat.setTranslationX(view, getOffsetXForRotation(rotation, view.getWidth(), view.getHeight()));
+ ViewCompat.setPivotX(view, view.getWidth() * 0.5f);
+ ViewCompat.setPivotY(view, 0);
+ ViewCompat.setRotationY(view, rotation);
+ }
+
+ protected static final float getOffsetXForRotation(float degrees, int width, int height) {
+ OFFSET_MATRIX.reset();
+ OFFSET_CAMERA.save();
+ OFFSET_CAMERA.rotateY(Math.abs(degrees));
+ OFFSET_CAMERA.getMatrix(OFFSET_MATRIX);
+ OFFSET_CAMERA.restore();
+
+ OFFSET_MATRIX.preTranslate(-width * 0.5f, -height * 0.5f);
+ OFFSET_MATRIX.postTranslate(width * 0.5f, height * 0.5f);
+ OFFSET_TEMP_FLOAT[0] = width;
+ OFFSET_TEMP_FLOAT[1] = height;
+ OFFSET_MATRIX.mapPoints(OFFSET_TEMP_FLOAT);
+ return (width - OFFSET_TEMP_FLOAT[0]) * (degrees > 0.0f ? 1.0f : -1.0f);
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomInTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomInTransformer.java
index 4bacbc0..14d8437 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomInTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomInTransformer.java
@@ -1,19 +1,19 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class ZoomInTransformer extends BaseTransformer {
- @Override
- protected void onTransform(View view, float position) {
- final float scale = position < 0 ? position + 1f : Math.abs(1f - position);
- ViewHelper.setScaleX(view,scale);
- ViewHelper.setScaleY(view,scale);
- ViewHelper.setPivotX(view,view.getWidth() * 0.5f);
- ViewHelper.setPivotY(view,view.getHeight() * 0.5f);
- ViewHelper.setAlpha(view,position < -1f || position > 1f ? 0f : 1f - (scale - 1f));
- }
+ @Override
+ protected void onTransform(View view, float position) {
+ final float scale = position < 0 ? position + 1f : Math.abs(1f - position);
+ ViewCompat.setScaleX(view, scale);
+ ViewCompat.setScaleY(view, scale);
+ ViewCompat.setPivotX(view, view.getWidth() * 0.5f);
+ ViewCompat.setPivotY(view, view.getHeight() * 0.5f);
+ ViewCompat.setAlpha(view, position < -1f || position > 1f ? 0f : 1f - (scale - 1f));
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutSlideTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutSlideTransformer.java
index 3a2ba81..1618c40 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutSlideTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutSlideTransformer.java
@@ -1,40 +1,40 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class ZoomOutSlideTransformer extends BaseTransformer {
- private static final float MIN_SCALE = 0.85f;
- private static final float MIN_ALPHA = 0.5f;
+ private static final float MIN_SCALE = 0.85f;
+ private static final float MIN_ALPHA = 0.5f;
- @Override
- protected void onTransform(View view, float position) {
- if (position >= -1 || position <= 1) {
- // Modify the default slide transition to shrink the page as well
- final float height = view.getHeight();
- final float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
- final float vertMargin = height * (1 - scaleFactor) / 2;
- final float horzMargin = view.getWidth() * (1 - scaleFactor) / 2;
+ @Override
+ protected void onTransform(View view, float position) {
+ if (position >= -1 || position <= 1) {
+ // Modify the default slide transition to shrink the page as well
+ final float height = view.getHeight();
+ final float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
+ final float vertMargin = height * (1 - scaleFactor) / 2;
+ final float horzMargin = view.getWidth() * (1 - scaleFactor) / 2;
// Center vertically
- ViewHelper.setPivotY(view,0.5f * height);
+ ViewCompat.setPivotY(view, 0.5f * height);
- if (position < 0) {
- ViewHelper.setTranslationX(view,horzMargin - vertMargin / 2);
- } else {
- ViewHelper.setTranslationX(view,-horzMargin + vertMargin / 2);
- }
+ if (position < 0) {
+ ViewCompat.setTranslationX(view, horzMargin - vertMargin / 2);
+ } else {
+ ViewCompat.setTranslationX(view, -horzMargin + vertMargin / 2);
+ }
- // Scale the page down (between MIN_SCALE and 1)
- ViewHelper.setScaleX(view,scaleFactor);
- ViewHelper.setScaleY(view,scaleFactor);
+ // Scale the page down (between MIN_SCALE and 1)
+ ViewCompat.setScaleX(view, scaleFactor);
+ ViewCompat.setScaleY(view, scaleFactor);
- // Fade the page relative to its size.
- ViewHelper.setAlpha(view,MIN_ALPHA + (scaleFactor - MIN_SCALE) / (1 - MIN_SCALE) * (1 - MIN_ALPHA));
- }
- }
+ // Fade the page relative to its size.
+ ViewCompat.setAlpha(view, MIN_ALPHA + (scaleFactor - MIN_SCALE) / (1 - MIN_SCALE) * (1 - MIN_ALPHA));
+ }
+ }
}
diff --git a/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutTransformer.java b/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutTransformer.java
index d5c33ec..d703617 100644
--- a/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutTransformer.java
+++ b/library/src/main/java/com/daimajia/slider/library/Transformers/ZoomOutTransformer.java
@@ -1,22 +1,22 @@
package com.daimajia.slider.library.Transformers;
+import android.support.v4.view.ViewCompat;
import android.view.View;
-import com.nineoldandroids.view.ViewHelper;
public class ZoomOutTransformer extends BaseTransformer {
@Override
protected void onTransform(View view, float position) {
final float scale = 1f + Math.abs(position);
- ViewHelper.setScaleX(view,scale);
- ViewHelper.setScaleY(view,scale);
- ViewHelper.setPivotX(view,view.getWidth() * 0.5f);
- ViewHelper.setPivotY(view,view.getWidth() * 0.5f);
- ViewHelper.setAlpha(view,position < -1f || position > 1f ? 0f : 1f - (scale - 1f));
- if(position < -0.9){
+ ViewCompat.setScaleX(view, scale);
+ ViewCompat.setScaleY(view, scale);
+ ViewCompat.setPivotX(view, view.getWidth() * 0.5f);
+ ViewCompat.setPivotY(view, view.getWidth() * 0.5f);
+ ViewCompat.setAlpha(view, position < -1f || position > 1f ? 0f : 1f - (scale - 1f));
+ if (position < -0.9) {
//-0.9 to prevent a small bug
- ViewHelper.setTranslationX(view,view.getWidth() * position);
+ ViewCompat.setTranslationX(view, view.getWidth() * position);
}
}