我想用viewpager制作幻灯片,每5秒自动更改一次页面。我已经完成了viewpager,但是直到这里才被阻止,任何建议??
Adapter.class(我的片段中的内部类)
class CustomPagerAdapter extends PagerAdapter {
Context mContext;
LayoutInflater mLayoutInflater;
public CustomPagerAdapter(Context context) {
mContext = context;
mLayoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return mResources.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((LinearLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View itemView = mLayoutInflater.inflate(R.layout.slide_show_item, container, false);
ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView);
imageView.setImageResource(mResources[position]);
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((LinearLayout) object);
}
}
}
这是我在片段中调用的函数
public void setSlideShow(){
mCustomPagerAdapter = new CustomPagerAdapter(getActivity());
mViewPager = (ViewPager)rootView.findViewById(R.id.slide_show);
mViewPager.setAdapter(mCustomPagerAdapter);
}
答案 0 :(得分:0)
好吧,android没有提供任何功能来自动翻转 ViewPager 中的视图,但是它为您提供了一个名为 TimerTask 的类,您可以使用它来实现您的目标。 您可以通过这种方式查看此link。
还有一种简单的方法可以实现这一目标,但为此你必须放弃使用 ViewPager 的想法。相反,您可以使用 ViewFlipper 。 ViewFlipper 有自己的自动翻转方法。您只需添加这两行就可以使视图自动翻转:
mViewFlipper.setAutoStart(true);
mViewFlipper.setFlipInterval(2000); // flip every 2 seconds (2000ms)
您可以获得 ViewFlipper 示例here。