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);
        }
    

      

  • 相关阅读:
    Javascript 正确用法 二
    c# 未能载入文件或程序集
    Linux系统备份
    环保创业的可行之道——Leo鉴书上66
    Oracle的序列
    UVA 10574
    网页内容的html标签补全和过滤的两种方法
    使用POI来实现对Excel的读写操作
    OVER(PARTITION BY)函数介绍
    Kill 正在执行的存储过程
  • 原文地址:https://www.cnblogs.com/zmaibbs7/p/4854781.html
Copyright © 2011-2022 走看看