如何自动滑动android查看页面

查看传呼机是否可以自动滑动或自动接收 我有我的viewpager设置使用像下面的适配器,它工作正常: –

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.gridslide); ImagePagerAdapter mAdapter = new ImagePagerAdapter( getSupportFragmentManager(),4); ViewPager mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); } 

而适配器如下所示: –

 public static class ImagePagerAdapter extends FragmentStatePagerAdapter { private final int mSize; public ImagePagerAdapter(FragmentManager fm, int size) { super(fm); mSize = size; } @Override public int getCount() { return mSize; } @Override public Fragment getItem(int position) { Log.v(TAG,"position="+position); return TheFragment.newInstance(position); }} 

不过,我想知道如何使这些片段autoslide在viewpager。

Solutions Collecting From Web of "如何自动滑动android查看页面"

在setCurrentItem(int item,boolean smoothScroll)中设置smoothScroll = true并不总是具有平滑滚动效果。 假设你在viewpager中的页面less于5页,你很难注意到平滑滚动。

在这种情况下,要做到这一点的难办法是把它放在for循环中

 //This will scroll page-by-page so that you can view scroll happening for (int i = 0; i < mAdapter.getCount()-1; i++) mPager.setCurrentItem(i, true); 

如果有人需要更慢的滚动,他们可以像这样使用postDelayed()…

 static int i=0; private final Handler handler = new Handler(); somefunction() { handle.post(ViewPagerVisibleScroll); } Runnable ViewPagerVisibleScroll= new Runnable() { @Override public void run() { if(i <= mAdapter.getCount()-1) { mPager.setCurrentItem(i, true); handle.postDelayed(TopChartAnimation, 100); i++; } } }; 

永远不build议睡觉 :如果有人需要更慢的滚动,他们可能会在这个循环中使用睡眠…

 @Override public void onClick(View v) { Runnable runnable = new Runnable() { @Override public void run() { for (int i = 0; i < mAdapter.getCount()-1; i++) { final int value = i; try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } handler.post(new Runnable() { @Override public void run() { mPager.setCurrentItem(value, true); } }); } } }; new Thread(runnable).start(); } 

可能你应该看看下面的API ViewPager.beginFakeDrag() , ViewPager。 fakeDragBy(float offset)和ViewPager.endFakeDrag()如果你想拖动模拟。 而且, setCurrentItem() API提供了设置当前页面的function,并且可以顺利地执行。 我可以build议自动幻灯片的最简单的方法是设置Handler与简单的Runnable,这将调用页面的方法来设置活动中的项目,只是做postDelayed()。 当用户交互或活动暂停时,不要忘记调用removeCallbacks()。