为了更好的说明Android动画的淡入淡出效果,这里以一个场景为例: 界面上有两个View 控件,两个View交替显示,当一个View淡入显示,另一个View淡出不可见。

我们把当前要显示的View叫showView, 要隐藏不可见的view叫hideView。

final View showView = findViewById(***)final View hideView = findViewById(***)

首先说淡入显示,既然要显示,那么View要设置为可见,要实现淡入的效果,就需要将透明度先设置为0

showView.setAlpha(0f);

showView.setVisibility(View.VISIBLE);

接下来就要调用showView.animate()方法来实现动画效果,设置最终的透明度为1。就可以达到不可见->模糊->完全显示

showView.animate()

.alpha(1f)

.setDuration(5000)

.setListener(null);

setDuration是设置动画的持续时间,这里设置的是5秒。 setListener这里先缓一缓,最后我会说明这个方法的作用。

这样showView的淡入效果就实现了,但是同时也必须在同一时间来完成hideView的淡出隐藏,否则两个view就重叠了。

知道如何实现淡入,也就知道如何实现淡出了 - 将透明度由1变到0,最后将hideView设为不可见(在onAnimationEnd事件中设置), 调用hideView.animate()来实现动画效果。就可以达到显示->模糊->完全不可见

hideView.animate()

.alpha(0f)

.setDuration(mShortAnimationDuration)

.setListener(newAnimatorListenerAdapter() {

@Overridepublic voidonAnimationEnd(Animator animation) {

hideView.setVisibility(View.GONE);

}

});

好,目前为止,淡入淡出的效果已经实现,但是相信有细心的童鞋会发现如下细节

1 对于showView, 是先调用showView.setVisibility(View.VISIBLE)设置为可见, 然后才调用showView.animate()

对于hideView, 是先调用hideView.animate(),最后在onAnimationEnd事件中调用hideView.setVisibility(View.GONE);设置为不可见

2 showView为什么要调用setListener(null), 这跟我文章开头提到的场景有关,因为我们要实现的是两个View交替淡入淡出显示,所以当前的showView就是上一次的hideView,而hideView是设置了listener了,并且实现的是设置view为不可见,所以必须清掉。

android gone动画_Android动画之淡入淡出相关推荐

  1. jquery动画效果 animate() 自定义动画 stop() 停止运行动画 fadeIn()/fadeOut()/fadeTo() 淡入淡出

    jquery动画效果 今天给大家介绍一下jQuery当中的几种动画效果. . animate() 自定义动画 stop() 停止运行动画 fadeIn()/fadeOut()/fadeTo() 淡入淡 ...

  2. android jni示例_Android动画示例

    android jni示例 Android Animation is used to give the UI a rich look and feel. Animations in android a ...

  3. android 同根动画_android 动画系列 (1) - tween 动画(view动画)

    这是我这个系列的目录,有兴趣的可以看下: android 动画系列 - 目录 tween 动画早些时候我们也叫补间动画(我也不知道为啥),现在也有叫 view 动画的.tween动画是2.X 时代的产 ...

  4. android刷新时的圆形动画_Android动画篇(一):圆形进度条CircleProgressBar

    前言# 最近看框架和源码比较多,很久没有写动画了,相信很多的朋友都对动画感兴趣,我也不例外,毕竟做前端还是要靠动画特效吃饭的,并且比写功能模块更有成就感. 今天我们就来个稍微简单一点的CirclePr ...

  5. Android App开发动画特效中帧动画和电影淡入淡出动画的讲解及实战(附源码和演示视频 简单易懂)

    需要图片集和源码请点赞关注收藏后评论区留言~~~ 一.帧动画 Android的动画分为三类,帧动画,补间动画和属性动画.其中帧动画是实现原理最简单的一种,跟现实生活中的电影胶卷类似,都是在短时间内连续 ...

  6. 浅尝flutter中的动画(淡入淡出)

    在移动端开发中,经常会有一些动画交互,比如淡入淡出,效果如图: 因为官方封装好了AnimatedOpacity Widget,开箱即用,所以我们用起来很方便,代码量很少,做少量配置即可,所以,全部代码 ...

  7. android淡入淡出动画_在Android中淡入动画示例

    android淡入淡出动画 1) XML File: activity_main 1)XML文件:activity_main <?xml version="1.0" enco ...

  8. Android开发笔记(十五)淡入淡出动画TransitionDrawable

    说到淡入淡出动画,可能大家会想到补间动画里面的AlphaAnimation,不过这个深浅动画只能对透明度做渐变效果,也就是只能对一个图形做深浅的颜色变换.如果我们想要从A图片逐渐变为B图片,也就是要实 ...

  9. android动画鸿阳,18. Activity淡入淡出动画

    本篇文章属于鸿洋大神博客学习笔记,鸿洋博客地址:http://blog.csdn.NET/lmj623565791/article/details/22990643 前言 多数情况下,我们新建的And ...

最新文章

  1. idea设置类注释和方法注释
  2. (译+原)std::shared_ptr及std::unique_ptr使用数组
  3. 看我如何跨虚拟机实现Row Hammer攻击和权限提升
  4. sklearn综合示例7:集成学习与随机森林
  5. 010. 使用.net框架提供的属性
  6. 操作数组的流 ByteArrayInputStream 和 ByteArrayOutputStream的简单介绍
  7. vue获取client为0_vue document.documentElement.clientHeight为0
  8. BATH四巨头鼎立,中国云市场将走向何方?
  9. Linux 系统常见命令功能大全_【all】
  10. 任正非:华为没有996更没有007,“狼性文化”其实是三个精神
  11. str_rot13() 函数
  12. 基于VS2017的C++ SuperLU混合编程
  13. android绘制花边view-WaveLineView
  14. 题都城南庄---中华诗词-唐五代-崔护
  15. 有了这个“神级”功能,会Excel就能轻松玩转BI数据可视化分析啦
  16. 2018沈阳k(经典的约瑟夫环)
  17. Java+Selenium爬取JavaScript返回的网页数据
  18. 用Python批量裁剪图片
  19. 学习理发去哪里_学理发到哪里学,学习剪发
  20. python视频教程唐学韬-顶级程序员的书单集

热门文章

  1. 计算机课伤害事故的防范,体育课安全伤害事故的防范与处理
  2. python2 python3 通信_python与USB通信
  3. 程序员微信头像_微信头像暴露了你的层次:层次越低的人,越喜欢用这些头像...
  4. linux字符设备驱动在哪里设置,从点一个灯开始学写Linux字符设备驱动!
  5. strictmath_Java StrictMath cos()方法与示例
  6. setpriority_Java Thread类的最终void setPriority(int priority)方法(带示例)
  7. 局部变量竟然比全局变量快 5 倍?
  8. Spring Boot 终极清单
  9. java 调用 Oracle 存储过程
  10. 六、PyQt5 QTreeWidget操作,获取树控件所有2级目录内容