ViewPager自动切换
来源:互联网 发布:大学生网络攻防大赛 编辑:程序博客网 时间:2024/05/22 06:34
1、在布局文件中创建ViewPager
<android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="fill_parent" android:layout_height="fill_parent" />
2、自定ViewPagerAdapter继承PagerAdapter
public class ChoseViewPagerAdapter extends PagerAdapter{
private Context context;private List<ImageView> images;public ChoseViewPagerAdapter(Context context, List<ImageView> images) { super(); this.context = context; this.images = images;}@Overridepublic int getCount() { return images.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) { container.removeView(images.get(position));}@Overridepublic Object instantiateItem(ViewGroup container, int position) { container.addView(images.get(position)); return images.get(position);}
}
3、在Activity中的代码
public class ChoseFragment extends Fragment {
private ChoseViewPagerAdapter adapter;
private int[] imageIds={R.drawable.read1,R.drawable.read2,R.drawable.read3,R.drawable.read4,R.drawable.read1};
private ArrayList images;
private int oldPosition = 0;//记录上一次点的位置
private int currentItem; //当前页面
private ScheduledExecutorService scheduledExecutorService;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.fragment_chose, container, false);
initView(view); initViewPager(view); return view;} private void initViewPager(View v) { images = new ArrayList<ImageView>(); for(int i =0; i < imageIds.length; i++){ ImageView imageView = new ImageView(getActivity()); imageView.setBackgroundResource(imageIds[i]); images.add(imageView); } mViewPager=(ChildViewPager) v.findViewById(R.id.vp_chose_fragment); adapter=new ChoseViewPagerAdapter(getActivity(), images); mViewPager.setAdapter(adapter); mViewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { tvTitle.setText(titles[position]); dots.get(oldPosition).setBackgroundResource(R.drawable.dot_normal); dots.get(position).setBackgroundResource(R.drawable.dot_focused); oldPosition = position; currentItem = position; } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } });}
@Override
public void onStart() {
super.onStart();
scheduledExecutorService=Executors.newSingleThreadScheduledExecutor(); //每隔4秒钟切换一张图片 scheduledExecutorService.scheduleWithFixedDelay(new Runnable() { @Override public void run() { currentItem = (currentItem +1) % imageIds.length; //更新界面 handler.obtainMessage().sendToTarget(); } }, 4, 4, TimeUnit.SECONDS);}private Handler handler=new Handler(){ //设置当前页面 public void handleMessage(Message msg) { mViewPager.setCurrentItem(currentItem); };};
}
- viewpager 自动切换
- ViewPager自动切换
- ViewPager 自动切换
- ViewPager 自动切换广告效果
- ViewPager实现自动循环切换
- 图片自动切换效果ViewPager
- ViewPager触摸切换图片并自动切换
- ScrollView+ViewPager(上下滚动+自动切换图片)
- 自定义ViewPager实现图片自动切换
- ViewPager实现自动无限循环切换
- android-ViewPager实现图片自动切换
- ScheduledExecutorService实现viewpager的自动切换
- ViewPager实现自动切换图片(一)
- 学习日记--ViewPager实现图片自动切换
- 使用ViewPager实现图片自动切换
- ViewPager(一屏多页、无限滑动、自动切换)
- 【ViewPager的学习】实现自动循环切换
- viewpager同时实现自动切换和手动切换
- 空间圆形物体的检测
- maven标准目录结构
- springMVC Controller的2种页面跳转方式的区别
- C/C++编译器错误代码大全
- 单点登录,解析WSDL
- ViewPager自动切换
- Spring注解
- Ubuntu下配置make3.8.1
- android
- android http 通讯相关
- 使用jQuery加载js脚本
- 大陆台湾翻译之辩
- AAC音频格式分析与解码
- 打造属于你的LayoutManager