1. View动画-透明动画效果
2. View动画-旋转动画效果
3. View动画-移动动画效果
4. View动画-缩放动画效果
5. View动画-动画效果混合
6. View动画-动画效果侦听
7. 自定义动画效果

工程代码:DIYAnimation.zip

-----------------------------------

1. View动画-透明动画效果

Java代码实现

  1. AlphaAnimation aa = new AlphaAnimation(0, 1); //透明动画效果
  2. aa.setDuration(1000);
  3. v.startAnimation(aa);

XML文件实现

在 res/anim 下创建alpha动画效果文件 alpha_animation.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <alpha xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:fromAlpha="0"
  4. android:toAlpha="1"
  5. android:duration="1000" >
  6. </alpha>
  1. //使用
  2. v.startAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.alpha_animation));

2. View动画-旋转动画效果

3. View动画-移动动画效果

4. View动画-缩放动画效果

5. View动画-动画效果混合

Java实现,透明效果和移动效果结合

  1. public class MixedAnimDemoActivity extends Activity {
  2.  
  3. private Button mixedBtn;
  4. private AnimationSet as;
  5.  
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_mixed_anim_demo);
  10.  
  11. as = new AnimationSet(true); //是否共用动画补间
  12. as.setDuration(1000);
  13. AlphaAnimation aa = new AlphaAnimation(0, 1);
  14. aa.setDuration(1000);
  15. as.addAnimation(aa);
  16.  
  17. TranslateAnimation ta = new TranslateAnimation(200, 0, 200, 0);
  18. ta.setDuration(1000);
  19. as.addAnimation(ta);
  20.  
  21. mixedBtn = (Button)findViewById(R.id.mixedBtn);
  22. mixedBtn.setOnClickListener(new OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25. v.startAnimation(as);
  26. }
  27. });
  28. }
  29.  
  30. }

6. View动画-动画效果侦听

创建动画效果的侦听事件, 在动画结束之后弹出一个Toast

  1. AlphaAnimation aa = new AlphaAnimation(0, 1);
  2. aa.setDuration(1000);
  3. aa.setAnimationListener(new AnimationListener() {
  4.  
  5. @Override
  6. public void onAnimationStart(Animation animation) {
  7. // TODO Auto-generated method stub
  8. }
  9.  
  10. @Override
  11. public void onAnimationRepeat(Animation animation) {
  12. // TODO Auto-generated method stub
  13. }
  14.  
  15. @Override
  16. public void onAnimationEnd(Animation animation) {
  17. // TODO Auto-generated method stub
  18. Toast.makeText(getApplicationContext(), "Animate end", Toast.LENGTH_LONG).show();
  19. }
  20. });
  21. as.addAnimation(aa);

7. 自定义动画效果

需要创建一个CustomAnim动画类,集成 Animation

  1. public class CustomAnim extends Animation {
  2.  
  3. @Override
  4. public void initialize(int width, int height, int parentWidth,
  5. int parentHeight) {
  6. // w我们需要知道目标动画效果的宽和高,所以需要重写该方法
  7. // 父级容器的宽高
  8. // initialize 在 applyTransformation之前执行
  9. super.initialize(width, height, parentWidth, parentHeight);
  10. }
  11.  
  12. @Override
  13. protected void applyTransformation(float interpolatedTime, Transformation t) {
  14. // TODO Auto-generated method stub
  15. // interpolatedTime 补间时间, 从0~1, 动画执行完为1
  16.  
  17. //t.setAlpha(interpolatedTime); //可以实现透明动画
  18.  
  19. //可以实现移动效果
  20. //t.getMatrix().setTranslate(200 * interpolatedTime, 200 * interpolatedTime);
  21.  
  22. //左右摇摆效果
  23. t.getMatrix().setTranslate((float)(Math.sin(interpolatedTime*50)*10), 0);
  24. super.applyTransformation(interpolatedTime, t);
  25. }
  26. }

工程代码:DIYAnimation.zip

Android 动画效果 及 自定义动画的更多相关文章

  1. Android动画效果之自定义ViewGroup添加布局动画

    前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...

  2. [Swift通天遁地]五、高级扩展-(11)图像加载Loading动画效果的自定义和缓存

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. Java 给PPT添加动画效果(预设动画/自定义动画)

    PPT幻灯片中对形状可设置动画效果,常见的动画效果为内置的固定类型,即动画效果和路径是预先设定好的固定模板,但在设计动画效果时,用户也可以按照自己的喜好自定义动画动作路径.下面,通过Java后端程序代 ...

  4. javascript动画效果之缓冲动画(修改版)

    在编写多块同时触发运动的时候,发现一个BUG, timer = setInterval(show, 30);本来show是一个自定义函数,当设为timer = setInterval(show(one ...

  5. 【Android初级】如何实现一个有动画效果的自定义下拉菜单

    我们在购物APP里面设置收货地址时,都会有让我们选择省份及城市的下拉菜单项.今天我将使用Android原生的 Spinner 控件来实现一个自定义的下拉菜单功能,并配上一个透明渐变动画效果. 要实现的 ...

  6. Android开发UI之自定义动画

    自定义动画,需要新建一个类,继承Animation类. 重写applyTransformation()方法和initialize()方法. applyTransformation(float inte ...

  7. 012 Android 动画效果(补间动画) +去掉App默认自带的标题+更改应用的图标

    1.介绍 补间动画开发者只需指定动画开始,以及动画结束"关键帧", 而动画变化的"中间帧"则由系统计算并补齐! 2.去掉App的标题 (1)将AndroidMa ...

  8. jQuery演示10种不同的切换图片列表动画效果以及tab动画演示 2

    很常用的一款特效纯CSS完成tab实现5种不同切换对应内容效果 实例预览 下载地址 实例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  9. CSS3展现精彩的动画效果 css3的动画属性

    热火朝天的css3无疑吸引了很多前端开发者的眼球,然而在css3中的动画属性则是新功能中的主打招牌,说到css3的动画属性不得不让人想起这三个属性:Transform﹑Transition﹑Anima ...

随机推荐

  1. 部署MongoDB扩展并测试使用php简单连接操作之

    1,下载MongoDB数据库扩展介质 wget http://pecl.php.net/get/mongo-1.5.1.tgz 2,tar  zxvf mongo-1.5.1.tgz &&am ...

  2. IOS性能调优系列:使用Instruments动态分析内存泄漏

    硬广:<IOS性能调优系列>第二篇,持续更新,欢迎关注. 第一篇介绍了Analyze对App做静态分析,可以发现应用中的内存泄漏问题,对于有些内存泄漏情况通过静态分析无法解决的,可以通过动 ...

  3. Conversion between json and object

    public static string ObjToJson<T>(T obj) { DataContractJsonSerializer serializer = new DataCon ...

  4. CentOS7.0分布式安装HADOOP 2.6.0笔记-转载的

    三台虚拟机,IP地址通过路由器静态DHCP分配 (这样就无需设置host了). 三台机器信息如下 -      1. hadoop-a: 192.168.0.20  #master     2. ha ...

  5. luajit 安装cjson

    最近需要升级原有服务器的nginx加载逻辑,新的lua脚本需要解析一个远程返回的json格式的结果,原有的luajit并没有带cjson库,需要自己手动安装一下. 基本参考博客luajit安装cjso ...

  6. LogMiner学习笔记

    本文是个实战,没有讲太多理论的东西,如需详细理解Oracle LogMiner,请移步:LogMiner详细讲解 首先介绍一下我的oracle环境: 第一步: 确定LogMiner已经安装. 安装Lo ...

  7. 善用VS中的Code Snippet来提高开发效率 分类: C# 2015-01-22 11:06 69人阅读 评论(0) 收藏

    前言  在谈谈VS中的模板中,我介绍了如何创建项目/项模板,这种方式可以在创建项目时省却不少重复性的工作,从而提高开发效率.在创建好了项目和文件后,就得开始具体的编码了,这时又有了新的重复性工作,就是 ...

  8. winform DataGridView 导出到Excel表格 分类: WinForm 2014-07-04 10:48 177人阅读 评论(0) 收藏

    public bool ExportDataGridview(DataGridView gridView)         {             if (gridView.Rows.Count ...

  9. HDU 4901(杭电多校训练#3 1005题)The Romantic Hero(DP)

    题目地址:HDU 4901 这题没想到最后竟然可以做出来.. .. 这题用了两次DP,先从前往后求一次异或的.再从后往前求一次与运算的. 各自是 1:求异或的时候,定义二维数组huo[1000][10 ...

  10. 深入分析 Java I/O 的工作机制--转载

    Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道.在当今这个数据大爆炸时代, ...