zoukankan      html  css  js  c++  java
  • Android成长日记-使用ViewFlipper实现屏幕切换动画效果

    (一) ViewFlipper介绍

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

    (二) 为ViewFlipper加入View

    1. 静态导入:在Layout布局文件中直接导入(不推荐*不灵活)

    2. 动态导入:addView()方法

    Eg:flipper=(ViewFipper)findViewById(R.id.flipper);

    Flipper.addView(getImageView(R.drawable.pic))

    (三) ViewFlipper的常用方法

    a>setInAnimation:设置View进入屏幕的时候使用的动画

    b>setOutAnimation:设置View退出屏幕的时候使用的动画

    c>showNext:调用该函数来显示ViewFlipper里面的下一个View

    d>showPrevious:调用该函数来显示ViewFlipper里面的上一个View

    e>setFilpInterval:设置View之间切换时间的时间间隔

    f>startFlipping:使用上面设置的时间间隔来开始切换所有的View,切换会循环进行

    g>stopFlipping:停止View切换

    (三) 为ViewFlipper添加手势滑动

    // private float startX; 提前定义的

    public boolean onTouchEvent(MotionEvent event) {

    //添加手势滑动

    switch (event.getAction()) {

    //手指落下

    case MotionEvent.ACTION_DOWN:

    startX=event.getX();

    break;

    //手指滑动

    case MotionEvent.ACTION_MOVE:

    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;

    //手指离开

    case MotionEvent.ACTION_UP:

    break;

    default:

    break;

    }

    return super.onTouchEvent(event);

    }

  • 相关阅读:
    poj 3040 Allowance
    poj 2393 Yogurt factory
    【BZOJ1833】数字计数(ZJOI2010)-数位DP
    【BZOJ4820】硬币游戏(SDOI2017)-概率+高斯消元+KMP
    【BZOJ3626】LCA(LNOI2014)-树链剖分+离线处理
    【BZOJ4817】树点涂色(SDOI2017)-LCT+LCA+线段树
    【BZOJ1135】LYZ(POI2009)-线段树+Hall定理
    【CF392D】Three Arrays-set+multiset
    【51Nod1688】LYKMUL-线段树+乘法原理
    【BZOJ2956】模积和-数论分块
  • 原文地址:https://www.cnblogs.com/boy1025/p/4302012.html
Copyright © 2011-2022 走看看