• android之ViewFlipper


      

      xml文件

        activity-main.xml

    <ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/viewFlipper"
    
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <include
            android:id="@+id/view1"
            layout="@layout/view1"></include>
    
        <include
            android:id="@+id/view2"
            layout="@layout/view2"></include>
    
        <include
            android:id="@+id/view3"
            layout="@layout/view3"></include>
    
        <include
            android:id="@+id/view4"
            layout="@layout/view4"></include>
    
        <include
            android:id="@+id/view5"
            layout="@layout/view5"></include>
    
    
    </ViewFlipper>

      

      view1.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/android01">
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/view1"
            android:textSize="30sp"
            android:layout_gravity="center_horizontal"/>
    </LinearLayout>

      MainActivity

    package com.viewflipperdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.animation.AnimationUtils;
    import android.widget.ViewFlipper;
    
    
    public class MainActivity extends Activity implements View.OnTouchListener{
    
        private ViewFlipper viewFlipper;
    
        private float mTouchDownX;//手指按下的X坐标
        private float mTouchUpX;//手指松开时的X坐标
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
            /*viewFlipper.setAutoStart(true);
            viewFlipper.setFlipInterval(2000);*/
            viewFlipper.setOnTouchListener(this);
        }
    
    
        @Override
        public boolean onTouch(View v, MotionEvent event) {
    
            //当手指在屏幕上按下时
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                mTouchDownX = event.getX(); //取得左右滑动时,取得X的坐标
                Log.i("Temp", "mTouchDownX:" + mTouchDownX);
                return true;
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                mTouchUpX = event.getX();
                Log.i("Temp", "mTouchUpX:" + mTouchUpX);
                //从左到右时
                if (mTouchUpX - mTouchDownX>100) {
                    //设置动画
                    viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in));
                    viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out));
                    viewFlipper.showPrevious();
                } else if(mTouchDownX- mTouchUpX>100) {//从右到左时
    
                    viewFlipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));
                    viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));
                    viewFlipper.showNext();
                }
                return true;
            }
            return false;
        }
    }
    

      

        自己总结:

          ViewFlipper用于页面翻页,--》 ViewAnimator   ---->FrameLayout 所有可以翻页

         

        XML   

          android:autoStart 

          android:flipInterval

        

        

  • 相关阅读:
    160. Intersection of Two Linked Lists
    155. Min Stack
    TensorRT caffemodel serialize序列化
    141. Linked List Cycle
    异或运算的性质及应用
    136. Single Number
    【leeetcode】125-Valid Palindrome
    c++函数参数类型-引用、指针、值
    【linux基础】linux远程登录SSH
    【leetcode】122-Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/Free-Wind/p/4654629.html
Copyright © 2020-2023  润新知