viewpager Handler 的无限轮播
2017-12-17 21:01
351 查看
private ViewPager mVp; int[] imgs = {R.drawable.c, R.drawable.b, R.drawable.azxc, R.drawable.awqe}; int i = 0; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); mVp.setCurrentItem(i); i++; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); tupian(); } private void tupian() { //定时器,每过一秒发送一次 new Timer().schedule(new TimerTask() { @Override public void run() { handler.sendEmptyMessage(0); } }, 0, 1000); //设置适配器 mVp.setAdapter(new MyPageAdapter()); //设置viewpager的滑动事件 mVp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position % imgs.length) { case 0: RadioButton rb1 = (RadioButton) findViewById(R.id.rb1); rb1.setChecked(true); break; case 1: RadioButton rb2 = (RadioButton) findViewById(R.id.rb2); rb2.setChecked(true); break; case 2: RadioButton rb3 = (RadioButton) findViewById(R.id.rb3); rb3.setChecked(true); break; case 3: RadioButton rb4 = (RadioButton) findViewById(R.id.rb4); rb4.setChecked(true); break; } } @Override public void onPageScrollStateChanged(int state) { } });
private class MyPageAdapter extends 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 = new ImageView(MainActivity.this); imageView.setImageResource(imgs[position % imgs.length]); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="match_parent" android:layout_height="200dp" /> <RadioGroup android:id="@+id/rg" android:gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/rb1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/rb2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/rb3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/rb4" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RadioGroup> </LinearLayout>
相关文章推荐
- viewPager Handler 的无限轮播
- viewpager+handler无限轮播
- viewpager+Handler自动无限轮播
- handler+viewpager无限轮播图片
- ViewPager无限轮播图+小圆点+HttpURLConnection +handler+Thread
- viewpager+handler获取网络数据无限自动轮播,xlistview添加头部viewpager,点击条目跳转百度
- Android ViewPager+Handler实现无限轮播和监听处理事件时轮播速度越来越快的问题解决
- Handler和ViewPager无限轮播
- ViewPager+handler无限轮播
- Handler和ViewPager无限轮播
- android ViewPager实现自动无限轮播和下方向导圆点
- ViewPager无限轮播
- 安卓:Handler实现图片轮播(非ViewPager)
- viewpager无限轮播加shape
- android无限轮播banner图片--viewpager
- ViewPager无限自动轮播+动画
- ViewPager无限轮播实现
- ViewPager实现无限循环,左右滑动,定时轮播及内存泄漏处理
- Android 开发中的应用:ViewPager无限轮播(网络图片,小圆点)
- ViewPager轮播图:自动无限轮播,手指长按停止,实现点击事件(实用版)