<
>

ViewPager实现轮播图引导页

2022-09-05 16:11:38 来源:易采站长站 作者:

本文实例为大家分享了ViewPager实现轮播图引导页的具体代码,供大家参考,具体内容如下创建fragment将fragment对象添加到viewPager中,使其可以进行左右滑动的功能fragmen...

本文实例为大家分享了Viewpager实现轮播图引导页的具体代码,供大家参考,具体内容如下

创建fragment将fragment对象添加到viewPager中,使其可以进行左右滑动的功能

fragmentList.add(new Fragment1());
    fragmentList.add(new Fragment2());
    fragmentList.add(new Fragment3());
    FragAdapter fragAdapter = new FragAdapter(getSupportFragmentManager(), fragmentList);
   
    vp.setAdapter(fragAdapter);

实现跟随页面滑动的小圆点,小圆点颜色跟着变化

ViewPager实现轮播图引导页

final List<ImageView> imglist = new ArrayList<>();
   
    for (int i = 0; i < fragmentList.size(); i++) {
      ImageView imageView = new ImageView(this);
      if (i == 0){
        imageView.setImageResource(R.drawable.t);
      }else {
        imageView.setImageResource(R.drawable.f);
      }
      imageView.setPadding(20,0,0,0);
      ll.addView(imageView);
      imglist.add(imageView);
    }
    vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
      @Override
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

      }

      @Override
      public void onPageSelected(int position) {
        for (int i = 0; i < imglist.size() ; i++) {
          if (position == i){
            imglist.get(i).setImageResource(R.drawable.t);
          }else {
            imglist.get(i).setImageResource(R.draBnGQmumnIwable.f);
          }
        }
      }
      @Override
      public void onPageScrollStateChanged(int state) {

      }
    });

手动搞一个小圆点选择器

<?XML version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<solid android:color="#03A9F4"></solid>
<size android:height="10dp" android:width="10dp"></size>
</shape>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
  <solid android:color="#929597"></solid>
  <size android:height="10dp" android:width="10dp"></size>
</shape>

当viewPager滑动到最后一页时,实现倒计时跳转的功能(好几种方式,这个是最简单)

//在主页面写一个Textview,当滑动到最后一页时,让他开始实现倒计时
 vp编程.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
      @Override
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

      }

      @Override
      public void onPageSelected(int position) {
        if (position == fragmentList.size()-1){
          Timer timer = new Timer();
          timer.schedule(new TimerTask() {
            @Override
            public void run() {
              index--;
              runOnUiThread(new Runnable() {
                @Override
                public void run() {
                  txt.setText("倒计时"+index);
                  if (index == 0){
                    Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
                    startActivity(intent);
                  }
                }
              });
            }
          },0,1000);
        }
      }

      @Override
      public void onPageScrollStateChanged(int state) {      }
    });

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

暂时禁止评论

微信扫一扫

易采站长站微信账号