viewpager实现自动循环轮播图
16lz
2021-01-24
本文实例为大家分享了viewpager自动循环轮播图的具体代码,供大家参考,具体内容如下
布局文件
android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity">
核心代码
public class MainActivity extends AppCompatActivity { private ImageView indicator;//表示圆点指示器 private ImageView [] indicators;//保存圆点指示器的数组 private boolean iscontinue = true; private ViewPager viewPager; private ViewGroup viewGroup; private ArrayListfragments; List imgs = null; private AtomicInteger index = new AtomicInteger(); private Handler viewHandler= new Handler(){ @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); viewPager.setCurrentItem(msg.what); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } public void initView(){ viewPager=findViewById(R.id.vp_adv); viewGroup=findViewById(R.id.View_indicator); //四张广告图片加载到集合中进行保存 List listPics = new ArrayList<>(); ImageView img1 = new ImageView(this); img1.setBackgroundResource(R.mipmap.food1); listPics.add(img1); ImageView img2 = new ImageView(this); img1.setBackgroundResource(R.mipmap.shop2); listPics.add(img2); ImageView img3 = new ImageView(this); img1.setBackgroundResource(R.mipmap.shop3); listPics.add(img3); ImageView img4 = new ImageView(this); img1.setBackgroundResource(R.mipmap.shop4); listPics.add(img4); initFragments(); //动态设置四个圆点属性 indicators = new ImageView[listPics.size()]; for(int i=0;i indicators.length-1){ index.getAndAdd(-4); } try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } private void initFragments() { imgs = new ArrayList (); imgs.add(R.mipmap.timg1); imgs.add(R.mipmap.timg2); imgs.add(R.mipmap.timg3); imgs.add(R.mipmap.timg4); } class pagerAdapter extends FragmentPagerAdapter{ public pagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int arg0) { //得到要显示的对象并初始化图片 MyFragment fm = new MyFragment(); fm.setUrl(imgs.get(arg0)); return fm; } @Override public int getCount() { return imgs.size(); } }}class MyPagerAdapter extends PagerAdapter{ private List viewList; public MyPagerAdapter(List viewList){ this.viewList = viewList; } @Override public int getCount() { return viewList.size(); } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view==object; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { container.addView(viewList.get(position)); return viewList.get(position); } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView(viewList.get(position)); }}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
更多相关文章
- android跳转进市场的代码
- [应用代码] android源码之多线程断点续传下载
- android实现点击按钮控制图片切换
- (详细代码,文末Demo下载)android简单修改密码、登录、注册功能 基于
- android用NFS的形式挂载工作.
- android PopupWindow的用法
- Android(安卓)的 ListView 的CheckBox标题栏显示文本之后显示单
- Android心得3.4--用Pull解析器解析xml文件内容.doc
- Android(安卓)向桌面添加快捷方式