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);

    }

  • 相关阅读:
    一些qml资料
    qml 的又一个框架
    qml 最新资源
    sql 创建数据库
    sql2008 无法附加数据库
    C#==>匿名方法
    sql alter表字段处理
    哪些字符需要urlencode编码?具体怎么处理?
    vs2010设置编辑器背景颜色
    nbtstat -a <IP> 会显示主机名、所在工作组等信息
  • 原文地址:https://www.cnblogs.com/boy1025/p/4302012.html
Copyright © 2011-2022 走看看