Skip to content

Commit 8ec570e

Browse files
committed
fix #14
1 parent 0caba3f commit 8ec570e

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

demo/src/main/java/com/daimajia/slider/demo/MainActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ protected void onCreate(Bundle savedInstanceState) {
6161
mDemoSlider.setPresetTransformer(SliderLayout.Transformer.Accordion);
6262
mDemoSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
6363
mDemoSlider.setCustomAnimation(new DescriptionAnimation());
64-
mDemoSlider.setDuration(3400);
64+
mDemoSlider.setDuration(4000);
6565
ListView l = (ListView)findViewById(R.id.transformers);
6666
l.setAdapter(new TransformerAdapter(this));
6767
l.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@@ -91,9 +91,11 @@ public boolean onCreateOptionsMenu(Menu menu) {
9191
public boolean onOptionsItemSelected(MenuItem item) {
9292
switch (item.getItemId()){
9393
case R.id.action_custom_indicator:
94+
mDemoSlider.stopAutoCycle();
9495
mDemoSlider.setCustomIndicator((PagerIndicator) findViewById(R.id.custom_indicator));
9596
break;
9697
case R.id.action_custom_child_animation:
98+
mDemoSlider.startAutoCycle();
9799
mDemoSlider.setCustomAnimation(new ChildAnimationExample());
98100
break;
99101
case R.id.action_restore_default:

library/src/main/java/com/daimajia/slider/library/SliderLayout.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,10 @@ public class SliderLayout extends RelativeLayout{
121121
private boolean mCycling;
122122

123123
/**
124-
* If auto recover after user touch the {@link com.daimajia.slider.library.Tricks.ViewPagerEx}
124+
* Determine if auto recover after user touch the {@link com.daimajia.slider.library.Tricks.ViewPagerEx}
125125
*/
126126
private boolean mAutoRecover = true;
127127

128-
129128
private int mTransformerId;
130129

131130
/**
@@ -138,7 +137,7 @@ public class SliderLayout extends RelativeLayout{
138137
/**
139138
* the duration between animation.
140139
*/
141-
private long mSliderDuration = 3400;
140+
private long mSliderDuration = 4000;
142141

143142
/**
144143
* Visibility of {@link com.daimajia.slider.library.Indicators.PagerIndicator}
@@ -249,6 +248,8 @@ public void startAutoCycle(){
249248
public void startAutoCycle(long delay,long duration,boolean autoRecover){
250249
if(mCycleTimer != null) mCycleTimer.cancel();
251250
if(mCycleTask != null) mCycleTask.cancel();
251+
if(mResumingTask != null) mResumingTask.cancel();
252+
if(mResumingTimer != null) mResumingTimer.cancel();
252253
mSliderDuration = duration;
253254
mCycleTimer = new Timer();
254255
mAutoRecover = autoRecover;
@@ -260,6 +261,7 @@ public void run() {
260261
};
261262
mCycleTimer.schedule(mCycleTask,delay,mSliderDuration);
262263
mCycling = true;
264+
mAutoCycle = true;
263265
}
264266

265267
/**
@@ -304,13 +306,14 @@ public void stopAutoCycle(){
304306
if(mResumingTask!=null){
305307
mResumingTask.cancel();
306308
}
309+
mAutoCycle = false;
307310
}
308311

309312
/**
310313
* when paused cycle, this method can weak it up.
311314
*/
312315
private void recoverCycle(){
313-
if(!mAutoRecover){
316+
if(!mAutoRecover || !mAutoCycle){
314317
return;
315318
}
316319

0 commit comments

Comments
 (0)