【问题标题】:Viewpager with auto scroll android带有自动滚动android的Viewpager
【发布时间】:2020-10-30 16:22:42
【问题描述】:

我正在使用 viewpager 库来实现图像滑块,但不知道如何实现它来自动滚动。这是我的代码。

ViewPagerAdapter.java

public class ViewPagerAdapter extends FragmentPagerAdapter implements IconPagerAdapter{

private int[] Images = new int[] { R.drawable.viewpager, R.drawable.viewpager,
        R.drawable.viewpager, R.drawable.viewpager,R.drawable.viewpager, R.drawable.viewpager

};

protected static final int[] ICONS = new int[] { R.drawable.logo,
        R.drawable.logo, R.drawable.logo, R.drawable.logo,R.drawable.logo, R.drawable.logo };

private int mCount = Images.length;

public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int position) {
    return new SliderFragment(Images[position]);
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return mCount;
}

public int getIconResId(int index) {
    return ICONS[index % ICONS.length];
}

public void setCount(int count) {
    if (count > 0 && count <= 10) {
        mCount = count;
        notifyDataSetChanged();
    }
}

}

SliderFragment.java

public class SliderFragment extends SherlockFragment {

int imageResourceId;

public SliderFragment(int i) {
    imageResourceId = i;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    ImageView image = new ImageView(getActivity());
    image.setImageResource(imageResourceId);

    LinearLayout layout = new LinearLayout(getActivity());
    layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
            LayoutParams.MATCH_PARENT));

    layout.setGravity(Gravity.CENTER);
    layout.addView(image);

    return layout;
}

}

MainActivity.java

mAdapter = new ViewPagerAdapter(getSupportFragmentManager());
    vPager = (ViewPager) findViewById(R.id.pager);
    pIndicator = (PageIndicator) findViewById(R.id.indicator);
    vPager.setAdapter(mAdapter);
    pIndicator.setViewPager(vPager);
    ((CirclePageIndicator) pIndicator).setSnap(true);

请指导我如何使用自动滚动来实现它,以便图像在预定义的时间后自动滚动。

【问题讨论】:

  • 泽山。来知道答案了吗?
  • 嗨,任何人都可以帮助我通过卡片翻转旋转项目来查看列表视图。当我单击任何项​​目时,翻转所有列表项

标签: android android-fragments android-viewpager autoscroll


【解决方案1】:
page=0;

timer=new TimerTask() {
            @Override
    enter code here
            public void run() {
                handler.post(new Runnable() {

                    @Override
                    public void run() {
                        viewPager.setCurrentItem(page % 4); // 4= no. of page in viewpager

                        page++;
                    }
                });
            }
        };
        Timer time=new Timer();
        time.schedule(timer, 0, 3000); //3000 millisecond for replace the viewpager page 

【讨论】:

  • 请尽量避免仅仅将代码作为答案,并尝试解释它的作用和原因。对于没有相关编码经验的人来说,您的代码可能并不明显。
【解决方案2】:

我使用计时器线程解决了这个问题。在特定时间后,我更改成为自动滚动的视图寻呼机图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多