public class ViewpagerF01 extends Fragment { private int i ; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //接受消息 并处理消息 pager.setCurrentItem(msg.what); } }; private List<Integer> list; private ViewPager pager; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.viewpagerf01, container, false); pager = view.findViewById(R.id.f01_viewpager); list = new ArrayList<>(); list.add(R.drawable.a); list.add(R.drawable.b); list.add(R.drawable.c); //获得当前页面的位置 i=pager.getCurrentItem(); //开启子线程 每秒改变 new Thread(){ @Override public void run() { while(true){ try { sleep(3000); i++; handler.sendEmptyMessage(i);//将每过三秒改变i的值 发送给handler } catch (Exception e) { e.printStackTrace(); } } } }.start(); pager.setAdapter(new PagerAdapter() { @Override public int getCount() { return Integer.MAX_VALUE;//将图片的数量设置最大 } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } //添加视图 @Override public Object instantiateItem(ViewGroup container, int position) { //创建imageview ImageView imageView = new ImageView(getActivity()); //设置图片 imageView.setImageResource(list.get(position%list.size())); //把imageView放到容器中 container.addView(imageView); return imageView; } //删除视图 @Override public void destroyItem(ViewGroup container, int position, Object object) { //必须删除----- container.removeView((View) object); } }); return view; }
Viewpager的无线轮播和自动轮播
最新推荐文章于 2024-05-08 07:45:00 发布