zoukankan      html  css  js  c++  java
  • 使用ViewFlipper实现图片轮播

    public class MainActivity extends AppCompatActivity {
        private ViewFlipper flipper;
        //背景图片int[] id
        private int[] resID = {R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            flipper = (ViewFlipper) findViewById(R.id.flipper);
    
            //动态导入的方式为ViewFlipper加入子View
            for(int i = 0; i < resID.length ; i++){
                flipper.addView(getimageview(resID[i]));
            }
            //为ViewFlipper去添加动画效果
            flipper.setInAnimation(this,R.anim.right_in);
            flipper.setOutAnimation(this,R.anim.right_out);
            //切换间隔时间
            flipper.setFlipInterval(3000);
            //开始播放
            flipper.startFlipping();
        }
        private ImageView getimageview(int resID){
            ImageView image = new ImageView(this);
            image.setBackgroundResource(resID);
            return image;
        }
    

      

    手指滑动

    public class MainActivity extends AppCompatActivity {
        private ViewFlipper flipper;
        //X横坐标
        private float startX;
        //背景图片int[] id
        private int[] resID = {R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            flipper = (ViewFlipper) findViewById(R.id.flipper);
    
            //动态导入的方式为ViewFlipper加入子View
            for(int i = 0; i < resID.length ; i++){
                flipper.addView(getimageview(resID[i]));
            }
        }
        private ImageView getimageview(int resID){
            ImageView image = new ImageView(this);
            image.setBackgroundResource(resID);
            return image;
        }
    
        //手指滑动
        @Override
        public boolean onTouchEvent(MotionEvent event) {
           switch (event.getAction()){
               case MotionEvent.ACTION_DOWN:{
                   startX = event.getX();
                   break;
               }
               case MotionEvent.ACTION_MOVE:{
                   //向右滑动
    
                   break;
               }
               case MotionEvent.ACTION_UP:{
                   if(event.getX() - startX  > 100){
                       flipper.setInAnimation(this,R.anim.left_in);
                       flipper.setOutAnimation(this, R.anim.left_out);
                       flipper.showPrevious();                  //显示前一项
                   }
    
                   //向左滑动
                   if(startX - event.getX() > 100){
                       flipper.setInAnimation(this,R.anim.right_in);
                       flipper.setOutAnimation(this,R.anim.right_out);
                       flipper.showNext();
                   }
                   break;
               }
           }
    
            return super.onTouchEvent(event);
        }
    

      

  • 相关阅读:
    weblogic静默安装指导
    简单说一下 servlet的生命周期?
    简单讲一下 SpringMVC的执行流程?
    讲一下 Spring的事务传播特性
    Spring事务的隔离级别
    面试资料
    ArrayList 和 HashMap 的默认大小是多数?
    spring-mvc里的 <mvc:resources> 及静态资源访问
    说说Java中的资源文件的读取
    JVM-String常量池与运行时常量池
  • 原文地址:https://www.cnblogs.com/zmaibbs7/p/4854781.html
Copyright © 2011-2022 走看看