zoukankan      html  css  js  c++  java
  • 009、使用ViewFlipper实现左右滑动事件

    ViewFlipper控件是系统自带控件,可以直接在布局文件里面添加,需要滑动的内容写在ViewFlipper里面,如下:
        <ViewFlipper
            android:id="@+id/vf"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
     
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >
     
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/visa"
                    android:textColor="@drawable/blue" />
     
                <ImageView
                    android:id="@+id/iv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:background="@drawable/visa_512" />
            </LinearLayout>
     
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >
     
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/mastercard"
                    android:textColor="@drawable/blue" />
     
                <ImageView
                    android:id="@+id/iv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:background="@drawable/mastercard_512" />
            </LinearLayout>
        </ViewFlipper>
     
     
    在代码里面,通过showNext()方法和showPrevious()方法来实现显示下一个或上一个layout布局
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                oldTouchValue = event.getX();
                break;
            case MotionEvent.ACTION_UP:
                if (oldTouchValue < event.getX()) {
                    //向左滑
                    vf.setInAnimation(AnimationHelper.inFromLeftAnimation());
                    vf.setOutAnimation(AnimationHelper.outToRightAnimation());
                    vf.showNext();
                } else if (oldTouchValue > event.getX()) {
                    //向右滑
                    vf.setInAnimation(AnimationHelper.inFromRightAnimation());
                    vf.setOutAnimation(AnimationHelper.outToLeftAnimation());
                    vf.showPrevious();
                }
                break;
            }
            return super.onTouchEvent(event);
        } 
      
  • 相关阅读:
    擦边上100分,我的托福考试总结
    如何写Java文档注释(Java Doc Comments)
    EC读书笔记系列之6:条款11 在operator=中处理自我赋值
    Python核心编程读笔 1
    安装Ubuntu小计
    U盘安装win7+CentOS7双系统
    EC读书笔记系列之5:条款9、条款10
    EC读书笔记系列之4:条款8 别让异常逃离析构函数
    EC读书笔记系列之3:条款5、条款6、条款7
    EC读书笔记系列之2:条款4 确定对象被使用前已先被初始化
  • 原文地址:https://www.cnblogs.com/zyh-blog/p/3324501.html
Copyright © 2011-2022 走看看