广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    android教程viewpager自动循环和手动循环

    2018-04-16 10:58:10 次阅读 稿源:互联网
    广告

    代码如下:

    package com.imoyo.expert;

    import java.util.ArrayList;

    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.support.v4.view.ViewPager;
    import android.support.v4.view.ViewPager.OnPageChangeListener;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.view.Window;
    import android.view.ViewGroup.LayoutParams;
    import android.widget.ImageView;

    public class ExActivity extends Activity {
     ViewPager viewPager;
     ArrayList<View> list;
     ViewGroup main, group;
     boolean cunhuan = false;
     ImageView imageView;
     ImageView[] imageViews;
     private static int c_id = 0;
     static int page_id = 1;
     private Runnable switchTask = new Runnable() {
      public void run() {
       if (cunhuan) {
        viewPager.setCurrentItem(page_id); 
        page_id++;
       }
       cunhuan=true;
       Log.e("is_run", cunhuan+"");
       mHandler.postDelayed(switchTask, 3000);

      }
     };
     Handler mHandler = new Handler();
     @Override
     protected void onResume() {
      super.onResume();
      switchTask.run();
     }
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      this.requestWindowFeature(Window.FEATURE_NO_TITLE);
      getView();

      imageViews = new ImageView[list.size()];
      ViewGroup main = (ViewGroup) inflater.inflate(R.layout.activity_main,
        null);

      ViewGroup group = (ViewGroup) main.findViewById(R.id.viewGroup);

      viewPager = (ViewPager) main.findViewById(R.id.viewPager);

      for (int i = 0; i < 5; i++) {
       imageView = new ImageView(this);
       imageView.setLayoutParams(new LayoutParams(12, 12));
       imageViews[i] = imageView;
       if (i == 0) {
        imageViews[i].setBackgroundResource(R.drawable.img_blue_point);
       } else {
        imageViews[i].setBackgroundResource(R.drawable.img_white_point);
       }
       group.addView(imageView);
      }

      setContentView(main);
      ViewPagerAdapter adapter = new ViewPagerAdapter(this, list);
      viewPager.setAdapter(adapter);
      viewPager.setOnPageChangeListener(listener);
      viewPager.setCurrentItem(2);

     }

     public void getView() {
      inflater = getLayoutInflater();
      list = new ArrayList<View>();
      list.add(inflater.inflate(R.layout.item4, null));
      list.add(inflater.inflate(R.layout.item5, null));

      list.add(inflater.inflate(R.layout.item1, null));
      list.add(inflater.inflate(R.layout.item2, null));
      list.add(inflater.inflate(R.layout.item3, null));
      list.add(inflater.inflate(R.layout.item4, null));
      list.add(inflater.inflate(R.layout.item5, null));

      list.add(inflater.inflate(R.layout.item1, null));
      list.add(inflater.inflate(R.layout.item2, null));
     }

     OnPageChangeListener listener = new OnPageChangeListener() {

      @Override
      public void onPageSelected(int arg0) {

       if (arg0 == 0) {
        viewPager.setCurrentItem(5, false);
        page_id=5;
       } else if (arg0 == 8) {
        viewPager.setCurrentItem(3, false);
        page_id=3;
       }else{
        page_id=arg0;
       }
       Log.e("arg", arg0 + "");

       for (int i = 2; i < 7; i++) {
        imageViews[i - 2]
          .setBackgroundResource(R.drawable.img_white_point);
       }
       switch (arg0) {
       case 7:
       case 2:
        imageViews[0]
          .setBackgroundResource(R.drawable.img_blue_point);
        break;
       case 3:
       case 8:
        imageViews[1]
          .setBackgroundResource(R.drawable.img_blue_point);
        break;
       case 4:
        imageViews[2]
          .setBackgroundResource(R.drawable.img_blue_point);
        break;
       case 0:
       case 5:
        imageViews[3]
          .setBackgroundResource(R.drawable.img_blue_point);
        break;
       case 1:
       case 6:
        imageViews[4]
          .setBackgroundResource(R.drawable.img_blue_point);
        break;
       }

      }

      @Override
      public void onPageScrolled(int arg0, float arg1, int arg2) {
      }

      @Override
      public void onPageScrollStateChanged(int arg0) {

      }
     };
     private LayoutInflater inflater;
    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告