如何自动幻灯片安卓查看传呼机 [英] How to auto slide android View Pager

查看:142
本文介绍了如何自动幻灯片安卓查看传呼机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

能否查看传呼机进行自动幻灯片或自动创建。我有我的viewpager设置为使用的适配器,如下面和正常工作: -

Can a View Pager be made to auto slide or autopage. I have my viewpager set up to use the adapter like the below and it works fine:-

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

和适配器是象下面这样: -

And the adapter is like below:-

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。

However I would want to know how to make these fragments autoslide in a viewpager.

推荐答案

设置smoothScroll = true在setCurrentItem(INT项目,布尔smoothScroll)并不总是有平滑滚动效果。假设如果有小于5页,你viewpager,您会几乎察觉不到的平滑滚动。

Setting smoothScroll = true in setCurrentItem(int item, boolean smoothScroll) does not always have the smooth scroll effect. Suppose if you have less than 5 pages in you viewpager, you will hardly notice the smooth scroll.

在这种情况下,硬盘的方式来做到这一点是把它放在一个for循环

In this scenario, the hard way to do it is to put it in a for loop

//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()这样的...

If some one needs more slower scroll, they can use postDelayed() like this...

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++;
                    }
                }
            };

睡眠总是不建议:如果有人需要更多的滚动速度较慢,他们可以在此使用的睡眠循环......

Sleep is always NOT recommended : If some one needs more slower scroll, they may use a sleep in this for loop...

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

        }

这篇关于如何自动幻灯片安卓查看传呼机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆