-
Notifications
You must be signed in to change notification settings - Fork 794
/
Copy pathAutoScrollViewPagerDemo.java
102 lines (83 loc) · 3.66 KB
/
AutoScrollViewPagerDemo.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package cn.trinea.android.demo;
import java.util.ArrayList;
import java.util.List;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import cn.trinea.android.common.util.ListUtils;
import cn.trinea.android.demo.adapter.ImagePagerAdapter;
import cn.trinea.android.view.autoscrollviewpager.AutoScrollViewPager;
/**
* AutoScrollViewPagerDemo
*
* @author <a href="http://www.trinea.cn" target="_blank">Trinea</a> 2014-2-22
*/
public class AutoScrollViewPagerDemo extends BaseActivity {
private AutoScrollViewPager viewPager;
private TextView indexText;
private Button innerViewPagerDemo;
private List<Integer> imageIdList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.auto_scroll_view_pager_demo);
viewPager = (AutoScrollViewPager)findViewById(R.id.view_pager);
indexText = (TextView)findViewById(R.id.view_pager_index);
imageIdList = new ArrayList<Integer>();
imageIdList.add(R.drawable.banner1);
imageIdList.add(R.drawable.banner2);
imageIdList.add(R.drawable.banner3);
imageIdList.add(R.drawable.banner4);
viewPager.setAdapter(new ImagePagerAdapter(context, imageIdList).setInfiniteLoop(true));
viewPager.setOnPageChangeListener(new MyOnPageChangeListener());
viewPager.setInterval(2000);
viewPager.startAutoScroll();
viewPager.setCurrentItem(Integer.MAX_VALUE / 2 - Integer.MAX_VALUE / 2 % ListUtils.getSize(imageIdList));
// the more properties whose you can set
// // set whether stop auto scroll when touching, default is true
// viewPager.setStopScrollWhenTouch(false);
// // set whether automatic cycle when auto scroll reaching the last or first item
// // default is true
// viewPager.setCycle(false);
// /** set auto scroll direction, default is AutoScrollViewPager#RIGHT **/
// viewPager.setDirection(AutoScrollViewPager.LEFT);
// // set how to process when sliding at the last or first item
// // default is AutoScrollViewPager#SLIDE_BORDER_NONE
// viewPager.setBorderProcessWhenSlide(AutoScrollViewPager.SLIDE_BORDER_CYCLE);
// viewPager.setScrollDurationFactor(3);
// viewPager.setBorderAnimation(false);
innerViewPagerDemo = (Button)findViewById(R.id.auto_scroll_view_pager_inner);
innerViewPagerDemo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(context, AutoScrollViewPagerInnerDemo.class));
}
});
}
public class MyOnPageChangeListener implements OnPageChangeListener {
@Override
public void onPageSelected(int position) {
indexText.setText(new StringBuilder().append((position) % ListUtils.getSize(imageIdList) + 1).append("/")
.append(ListUtils.getSize(imageIdList)));
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
@Override
public void onPageScrollStateChanged(int arg0) {}
}
@Override
protected void onPause() {
super.onPause();
// stop auto scroll when onPause
viewPager.stopAutoScroll();
}
@Override
protected void onResume() {
super.onResume();
// start auto scroll when onResume
viewPager.startAutoScroll();
}
}