大家都知道flash里遮罩动画这个概念,如图,图像本身不移动,遮罩层移动,然后图像慢慢浮现

android里原本是没有遮罩动画这个概念的,不过利用原生的动画配合一点点小技巧就可以实现

private FrameLayout  viewRainBowContainer;
private TranslateAnimation trAniamAnimation1, trAniamAnimation2;
private ImageView imgRainBow;private void showRainBow() {if (trAniamAnimation1 == null) {trAniamAnimation1 = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, -1.0f,Animation.RELATIVE_TO_SELF, 0.0f);trAniamAnimation1.setDuration(1000);}if (trAniamAnimation2 == null) {trAniamAnimation2 = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 1.0f,Animation.RELATIVE_TO_SELF, 0.0f);trAniamAnimation2.setDuration(1000);}viewRainBowContainer.startAnimation(trAniamAnimation2);imgRainBow.startAnimation(trAniamAnimation1);}

其中viewRainBowContainer是 imgRainbow的外层布局,但大小和imgRainbow完全一致

imgRainbow就是需要被遮罩的图像

而viewRainBowContainer则扮演的是遮罩的角色

使用TranslateAnimation动画,使遮罩层和图像分别从相反的位置移回原本的位置即实现了如图效果

同理,也可以使用缩放动画来做另一种效果,这里就不复述了

Android之实现遮罩动画的小技巧 类似flash遮罩动画相关推荐

  1. Android 使用Lottie的三个小技巧

    Android 使用Lottie的三个小技巧 Shawn 文章目录 Android 使用Lottie的三个小技巧 I 开启硬件加速 II 通过添加AnimatorListener来控制动画行为 III ...

  2. Silverlight 游戏开发小技巧:昼夜交替动画

    记得在WP7上玩一个游戏有段动画很有趣,是背景在进行昼夜交替,一会儿白天太阳出来白天了,一会儿月亮蹦出来夜晚了,在以前做C++程序的时候曾经实现过类似的效果,今天早上移植了一下到Silverlight ...

  3. mac os android连接wifi密码,Mac使用小技巧:找回WiFi密码

    macOS是Apple苹果Mac上运行的操作系统,它拥有大量隐藏的快捷方式,键盘命令和功能.最近小编研究了一下这个操作系统,发现了一个能够快速找到WiFi密码的小技巧,这个非常适合像小编这种经常记不住 ...

  4. Android零碎要点---eclipse两个小技巧

    3.小技巧:   选中字母:按ctrl+shift+y变成小写   ctrl+shift+x变成大写 ------------------------------------------------- ...

  5. 坚果云 android 操作历史,#坚果云每日小技巧分享# 你也该学会使用文件历史版本了...

    原标题:#坚果云每日小技巧分享# 你也该学会使用文件历史版本了 文件历史版本是坚果云一直重点推荐的内容,很多人虽然没有使用过或者极少使用过,但是你一旦有了使用它的机会你就会发现文件历史版本功能可以帮助 ...

  6. excel的if函数中android,excel中if函数使用小技巧分享

    excel中if函数使用小技巧分享[案例实操] 今天有同事问到笔者一个问题:"在EXCEL中,如何使用函数实现如下功能:在A1单元格填写A,B1单元格自动填写100,当A1单元格的内容更改为 ...

  7. android viewbinding_程序员必懂小技巧之ViewBinding

    终于有一篇带大家从本质来了解 ViewBinding 了. 如果你完全没了解过 View Binding,可以先看下面这篇介绍: AS 3.6 Canary 中推出新技术 视图绑定 View Bind ...

  8. android studil打断点_【小技巧】AndroidStudio利用断点打印日志

    你是不是有着这样的烦恼: 调试程序常常需要到处打印日志 (没办法,debug需要) 打印日志需要对代码进行修改 (改来改去一不小心就忘了删除,或者破坏了代码) 改完代码还要重新编译 (编译一次要等待好 ...

  9. Android项目导出jar包的小技巧

    为什么80%的码农都做不了架构师?>>>    我们知道,可以通过如下设置将一个普通的Android工程转换成Android Library工程 设置前后工程变化如下 使用Ant编译 ...

  10. Android TV开发焦点动作控制小技巧

    为什么80%的码农都做不了架构师?>>>    焦点移动,前一个拥有焦点的view如果在接收到key事件时,key监听消耗掉事件,也就事件不能往下传递了,此时在return true ...

最新文章

  1. Hadoop概念学习系列之Java调用Shell命令和脚本,致力于hadoop/spark集群(三十六)...
  2. 机器学习算法python实现
  3. PHP学习笔记-PHP与JavaScript的交互
  4. 关于激励函数的一些思考
  5. iOS压缩动画 CGAffineTransform
  6. iOS appstore各种图片的尺寸和需要注意的地方
  7. c++ 方向_GE医疗C型臂系列手术机设备全球装机量破万
  8. 计算机原理 逻辑单元,湘潭大学计算机原理 实验一 算术逻辑单元ALU实验报告
  9. java引用公共类_使用键引用从Java公共类获取值 - java
  10. arduino读取水位传感器的数据显示在基于i2c的1602a上_构建Arduino的LoRa远程智能空气质量监测系统...
  11. java设计模式(四)--单例模式
  12. 使用Duilib做的程序封装成DLL的显示加载与卸载问题
  13. 数学建模中的整数规划总结及姜启源第4章(1-3)的解析
  14. UR5 UR10 ------六自由度机械臂
  15. php网易云信im即时通讯和聊天室
  16. 微信小程序开发测试appId如何改为真正的appid
  17. jquery 表单验证插件
  18. 人工智能聊天机器人(有详细安装教程)/ 自动学习型
  19. 50首经典好听的英文歌曲!
  20. php仿京东幸运大转盘抽奖,原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)...

热门文章

  1. 马云为何学计算机,IT大佬高考:李彦宏是状元 马云数学仅1分
  2. 六级考研单词之路-二十二
  3. html5 电子白板 直播,基于HTML5技术的智能终端电子白板软件的设计与实现
  4. 【python+selenium】自动登陆学校青果教务网
  5. UE4地形使用卫星贴图
  6. 各大电商历史价格json后端接口
  7. 人脸检测实战高级:使用 OpenCV、Python 和 dlib 完成眨眼检测
  8. linux 升级php 5.3,Linux PHP5.3升级PHP5.5.33 (CentOS)
  9. 2022年必备的加密行业术语大全,你了解有多少?
  10. [深度学习基础] 斯坦福CS231n李飞飞计算机视觉Lecture 6笔记