zoukankan      html  css  js  c++  java
  • android学习ViewFlipper的使用

      android系统自带的多页面管理控件,它可以实现子页面的自动切换

      1,为ViewFlipper添加View

      静态导入:在layout布局文件中直接导入

      动态导入:通过addview方法进行导入

      2,viewflipper常用方法

      setInAnimation 设置view进入屏幕时使用的动画

      setOutAnimation 设置view退出屏幕时使用的动画

      showNext 调用该函数显示viewflipper中的下一个view

      showprevious 调用该函数显示viewflipper中的上一个view

      setFlipInterval 设置view之间切换的时间间隔

      startFlipping 使用上面设置的时间间隔来开始切换所有的view,切换回循环进行

      stopFlipping 停止自动切换

      demo是一个图片的自动切换

      第一步:添加几张图片到drawable目录下,a.png,b.png,c.png,d.png;

      第二步:在MainActivity中定义资源id数组 

      private int []resId={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d}

        第三步:定义一个获取imageView的接口

    public ImageView getImageView(int resId){
            ImageView imageView = new ImageView(this);
            imageView.setBackgroundResource(resId);//铺满整个屏幕
            return imageView;
        }

      第四步:为ViewFlipper添加view

      

     viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper);
            for(int i = 0;i<resId.length;i++){
                viewFlipper.addView(getImageView(resId[i]));
            }

      第五步:设置ViewFlipper切换属性

      

    viewFlipper.setFlipInterval(1000);
    viewFlipper.startFlipping();

      第六步:添加手指滑动事件

      @Override
        public boolean onTouchEvent(MotionEvent event) {
            switch(event.getAction()){
                case MotionEvent.ACTION_DOWN:
                {
                    startX = event.getX();
                    break;
                }
                case MotionEvent.ACTION_MOVE:{
                    if(startX-event.getX()>100){
                        viewFlipper.showNext();
                    }
                    else{
                        viewFlipper.showPrevious();
                    }
                    break;
                }
                case MotionEvent.ACTION_UP:{
                }
            }
            return super.onTouchEvent(event);
        }
  • 相关阅读:
    linux 磁盘管理学习笔记
    Apache的Order Allow Deny心得
    NodeJs 笔记
    JavaScript 笔记
    MySQL 学习笔记
    HTML 转义符
    UTF-8 BOM(EF BB BF)
    [ Python
    [ Python
    [ Python
  • 原文地址:https://www.cnblogs.com/techdreaming/p/4979010.html
Copyright © 2011-2022 走看看