在设计android项目的时候我们有时候需要对activity的进入退出做一些动画处理,虽然android自身已经做了动画处理,但是我们需要更加炫酷的动画就需要自己去写一些动画了。

有时候不光activity,还有popupwindow或者自定义view都是需要动画的。

那么,我就来说说简单而简洁的view进入退出动画。

首先,我们在项目中新建一个存放动画的文件夹(res/anim)

从xml开始:

android:fromXDelta="0" android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:toXDelta="100%" />

这是一个从左边退出的动画,我们取名为anim_left_out.xml

其中:

duration:动画执行时间

fromXDelta:x的起始值,0

toXDelta:x的结束值,100%

interpolator:线性插值器,根据时间百分比设置属性百分比,这里设置加速减速插值器

那么一个完整的view进出动画还包括出现的动画:

android:fromXDelta="0" android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:toXDelta="100%" />

可以看出,也就是把左退出动画的x坐标轴的数值倒转一下而已。

那么我们应该怎么设置动画,让一个view同时具有着两个动画呢?

拿popupwindow来说,设置动画:

popupwindow.setAnimationStyle(R.anim.anim_left_out);

但是,问题来了。这样只能设置一个动画啊,怎么办呢?

那就用style来解决吧:

在style(res/values/style)中:

@anim/anim_left_in

@anim/anim_left_out

接下来再popupwindow中写:

popupwindow.setAnimationStyle(R.style.PopupWindowAnimLeft);

这样,popupwindow就具有了从左边出现,然后退出到左边的动画。

是不是很方便?

那么至于activity就更简单了,

overridePendingTransition(R.anim.activity_start_anim, R.anim.activity_exit_anim);

需要注意的是:

1,在startactivity()和finish()之后调用;

2,该方法必须在2.0版本以上才有用,那么我们可以这么设置:

int version = Integer.valueOf(android.os.Build.VERSION.SDK);

if(version >= 5) {

overridePendingTransition(R.anim.activity_start_anim,R.anim.activity_exit_anim);

}

至于自定义view我们可以创建一个动画实例然后在view初始化完成以后播放。

view的进出动画效果其实用xml文件去写就完全可以胜任。更多更炫酷的动画效果就要靠自己去慢慢实验了。

android view退出动画,android animation——view进来退出动画相关推荐

  1. 【Android 属性动画】属性动画 Property Animation 工作原理 ( 线性插值动画 | 非线性插值动画 | 动画计算 | 经过分数 | 插值分数 | 类型估值器)

    文章目录 一.线性插值动画示例 二.非线性插值动画示例 三.动画计算方式 四.时间经过分数 ( Elapsed Fraction ) 五.插值分数 ( Interpolated Fraction ) ...

  2. html5鱼游动动画,C3 animation transform鱼游动动画特效

    C3 animation transform鱼游动动画特效 代码片段: .fishbox{ width: 200px; height: 200px; /*background-color: rgba( ...

  3. Android 动画解析(一) 逐帧动画(Frame Animation)

    简介 开发Android的同学都知道,Android中的动画有逐帧动画(Frame Animation).补间动画(Tween Animation)以及属性动画.其中,逐帧动画(Frame Anima ...

  4. android 滑动翻转动画,Android编程实现3D滑动旋转效果的方法

    本文实例讲述了Android编程实现3D滑动旋转效果的方法.分享给大家供大家参考,具体如下: 这里我们通过代码实现一些滑动翻页的动画效果. Animation实现动画有两个方式:帧动画(frame-b ...

  5. 2.Unity2D 横版 帧动画sprite animation+动画状态机animator+丝滑连击动作

    ax总目录 1.帧动画sprite animation的创建 2.动画状态机animator 教学链接https://blog.csdn.net/linxinfa/article/details/94 ...

  6. Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理--旧的动画系统)

    (来自:http://blog.sina.com.cn/s/blog_409cc4b00100qmgz.html) 也许这一篇文章的内容有点枯燥,但我要说的是如果你想深入的了解游戏引擎是如何处理动画片 ...

  7. Unity3d动画脚本 Animation Scripting

    Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理) 也许这一篇文章的内容有点枯燥,但我要说的是如果你想深入的了解游戏引擎是如何处理动画片断或者素材并 让 ...

  8. UI一揽子计划 23 (动画的使用场景、UIView动画、CGAffineTransform2D仿射变换、CALayer、CAAnimation、)

    在iOS 中的动画是指一些视图上的过渡效果,合理利用动画能提高用户体验. 一. UIView动画 1). UIView动画块的使用 ([UIView beginAnimations: nil cont ...

  9. css3动画效果(旋转,帧动画)

    一.css动画属性 animation是css3的动画属性,也是简写,其中包含以下几种值可配置 默认值:none 0 ease 0 1 normal 值 描述 animation-name 需要绑定到 ...

最新文章

  1. Android 操作串口 (android serial port api)
  2. php ftp 创建文件夹失败,PHP使用FTP函数创建目录
  3. C语言二维数组找出交集,【leetcode C语言实现】剑指 Offer 04. 二维数组中的查找...
  4. 谈谈对MVC的理解(View+Model+Controller)
  5. OpenGL 法线贴图 切线空间 整理
  6. java网络通信:伪异步I/O编程(PIO)
  7. 2021FME博客大赛 —— FME在道路实景建模中的应用研究
  8. Oracle实验三 基于大数据集的数据库操作
  9. 罗米欧与朱丽叶(徐志摩)
  10. Libgdx游戏编程之卡牌游戏UI布局
  11. 如何查看支付宝商户ID(支付宝pid)?
  12. 脚手架的这个好搭档 今天要重点来介绍下!
  13. ad被锁定的账户_大量AD域帐号自动被锁定
  14. Excel基础(03)查找与替换
  15. C++的Json解析库:jsoncpp
  16. 讲计算机讲座开场白,讲座主持词开场白
  17. 360无线网卡linux,求助,无线网卡快被搞疯了。360wifi2代
  18. 精灵图 SEO ico图标
  19. ProxyPool proxy-pool: java 基于springboot框架获取代理ip
  20. python判断字符串是否含有非中文字符的日文/韩文字符

热门文章

  1. 许多计算机英语,计算机英语翻译
  2. linux纯内核直接用吗,Linux:为啥内核有的变量没有初始化就敢直接使用?
  3. C语言实现线性动态(单向)链表【详细步骤】
  4. SSH:hql语句传参报错,及antlr-2.7.2.jar重复包的删除
  5. python爬虫 asyncio aiohttp aiofiles 单线程多任务异步协程爬取图片
  6. windows10 vscode 构建最强大的 Mingw C++ gcc 编译环境
  7. MyEclipes 2016 CI 6 安装
  8. mybatis3 oracle,Mybatis3中對oracle的批量插入
  9. java ocsp请求_java – 客户端证书上的OCSP吊销
  10. 爱奇艺如何设置最小化显示在托盘