本文实例为大家分享了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 ArrayList fragments; 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;iindicators.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(ListviewList){  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)); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. android跳转进市场的代码
  2. [应用代码] android源码之多线程断点续传下载
  3. android实现点击按钮控制图片切换
  4. (详细代码,文末Demo下载)android简单修改密码、登录、注册功能 基于
  5. android用NFS的形式挂载工作.
  6. android PopupWindow的用法
  7. Android(安卓)的 ListView 的CheckBox标题栏显示文本之后显示单
  8. Android心得3.4--用Pull解析器解析xml文件内容.doc
  9. Android(安卓)向桌面添加快捷方式

随机推荐

  1. Android Building System
  2. Android扫盲篇
  3. ContentProvider
  4. Android M新控件之FloatingActionButton,T
  5. 【Android Dev Guide - 01】 - What Is A
  6. Android存在大Bug,导致误发短信
  7. android socket通信
  8. Android应用程序消息处理机制(Looper、Han
  9. Android基本操作1(意图使用、界面转换、按
  10. 第十七章 Android 常见的Service