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(); } }