1.在布局里面写布局
2.循环添加图片
3.配置适配器
4.设置onpageChangeListener
5.设置小圆点
第一步:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".LoadingActivity"> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" ></android.support.v4.view.ViewPager> <RadioGroup android:id="@+id/rg" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginBottom="50dp" android:layout_alignParentBottom="true" android:gravity="center"></RadioGroup> </RelativeLayout>
第二步:
private int[] images={R.drawable.a2,R.drawable.a3,R.drawable.a2}; private ArrayList<ImageView> imageList; imageList = new ArrayList<>(); for (int i = 0; i < images.length; i++) { ImageView imageView = new ImageView(LoadingActivity.this); imageView.setImageResource(images[i]); imageList.add(imageView); }
第三步:
private ArrayList<ImageView> imageList; public ViewAdapter(ArrayList<ImageView> imageList) { this.imageList = imageList; } @Override public int getCount() { return imageList.size(); } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object o) { return view==o; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { ImageView newsImage = imageList.get(position % imageList.size()); container.addView(newsImage); return newsImage; } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView((View) object); }
第四步:
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int i, float v, int i1) { } @Override public void onPageSelected(int i) { int currentItem = viewPager.getCurrentItem(); rg.check(currentItem); if(i==imageList.size()-1){ ImageView imageView = imageList.get(i); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(LoadingActivity.this,MainActivity.class)); } }); } } @Override public void onPageScrollStateChanged(int i) { } });
第五步:
//小圆点 initDots(); } private void initDots() { for (int i = 0; i < images.length; i++) { RadioButton rb = new RadioButton(LoadingActivity.this); rb.setId(i); rg.addView(rb); rg.check(0); } }