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);
        } 
      
  • 相关阅读:
    Java String.format 方法使用介绍
    Android获取SD卡中选中图片的路径(URL)
    第三届蓝桥杯Java高职组决赛第一题
    Source Insight使用小技巧小结
    用android代码显示图片的一部分源码
    Liferay的架构:缓存(第一部分)
    Linux登录ssh携带密码
    about flashback_transaction_query
    数据库系统概念读书笔记——实体-联系模型
    Android Phone和Pad UA区别
  • 原文地址:https://www.cnblogs.com/zyh-blog/p/3324501.html
Copyright © 2011-2022 走看看