直接上代码,有事先不多写,以后在补

MainActivity

  1 package com.wuxianedu.animation;
  2
  3 import android.support.annotation.AnimRes;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.os.Bundle;
  6 import android.view.View;
  7 import android.view.animation.AlphaAnimation;
  8 import android.view.animation.Animation;
  9 import android.view.animation.AnimationSet;
 10 import android.view.animation.AnimationUtils;
 11 import android.view.animation.RotateAnimation;
 12 import android.view.animation.ScaleAnimation;
 13 import android.view.animation.TranslateAnimation;
 14 import android.widget.CompoundButton;
 15 import android.widget.ImageView;
 16 import android.widget.Switch;
 17
 18 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 19
 20     private ImageView imgView;
 21     private boolean isCheched = true;
 22
 23     @Override
 24     protected void onCreate(Bundle savedInstanceState) {
 25         super.onCreate(savedInstanceState);
 26         setContentView(R.layout.activity_main);
 27
 28
 29         Switch switch1 = (Switch) findViewById(R.id.switch1);
 30         switch1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
 31             @Override
 32             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
 33                 MainActivity.this.isCheched = isChecked;
 34             }
 35         });
 36
 37
 38         findViewById(R.id.button).setOnClickListener(this);
 39         findViewById(R.id.button2).setOnClickListener(this);
 40         findViewById(R.id.button3).setOnClickListener(this);
 41         findViewById(R.id.button4).setOnClickListener(this);
 42         findViewById(R.id.button5).setOnClickListener(this);
 43         imgView = (ImageView) findViewById(R.id.imageView);
 44     }
 45
 46
 47     @Override
 48     public void onClick(View v) {
 49         switch (v.getId()){
 50             case R.id.button://渐变透明动画
 51                 if(isCheched){
 52                     alphaJava();
 53                 }else{
 54                     loadByXml(R.anim.alpha_animation);
 55                 }
 56                 break;
 57             case R.id.button2://缩放动画
 58 //                ScaleAnimation scaleAnimation = new ScaleAnimation(0,1,0,1);
 59 //                scaleJava();
 60                 loadByXml(R.anim.scal_animation);
 61                 break;
 62             case R.id.button3://位移动画
 63 //                translateJava();
 64                 loadByXml(R.anim.translate_animation);
 65                 break;
 66             case R.id.button4://旋转动画
 67 //                rotateJava();
 68                 loadByXml(R.anim.rotate_animation);
 69                 break;
 70             case R.id.button5://动画集
 71                 AnimationSet animationSet = new AnimationSet(true);
 72
 73                 //创建三个动画
 74                 RotateAnimation rotateAnimation = new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,
 75                         Animation.RELATIVE_TO_SELF,0.5f);
 76                 ScaleAnimation scaleAnimation = new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,
 77                         Animation.RELATIVE_TO_SELF,0.5f);
 78                 TranslateAnimation translateAnimation = new TranslateAnimation(0,800,0,800);
 79
 80                 //将动画添加到动画集中
 81                 animationSet.addAnimation(rotateAnimation);
 82                 animationSet.addAnimation(scaleAnimation);
 83                 animationSet.addAnimation(translateAnimation);
 84
 85                 //设置时长
 86                 animationSet.setDuration(3000);
 87
 88                 //启动动画
 89                 imgView.startAnimation(animationSet);
 90                 break;
 91         }
 92     }
 93
 94     /**
 95      * 位移动画
 96      */
 97     private void translateJava() {
 98         TranslateAnimation translateAnimation = new TranslateAnimation(0,800,0,800);
 99         translateAnimation.setDuration(3000);
100         imgView.startAnimation(translateAnimation);
101     }
102
103     /**
104      * 旋转动画
105      */
106     private void rotateJava() {
107         RotateAnimation rotateAnimation = new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,
108                 Animation.RELATIVE_TO_SELF,0.5f);
109         rotateAnimation.setDuration(3000);
110         imgView.startAnimation(rotateAnimation);
111     }
112
113     /**
114      * 缩放动画
115      */
116     private void scaleJava() {
117         ScaleAnimation scaleAnimation = new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,
118                 Animation.RELATIVE_TO_SELF,0.5f);
119         scaleAnimation.setDuration(3000);
120         imgView.startAnimation(scaleAnimation);
121     }
122
123     /**
124      * 通过XMl加载动画
125      * @param resId 动画资源,布局文件
126      */
127     private void loadByXml(@AnimRes int resId) {
128         Animation animation = AnimationUtils.loadAnimation(this,resId);
129         imgView.startAnimation(animation);
130     }
131
132     /**
133      * 渐变透明动画
134      */
135     private void alphaJava(){
136         AlphaAnimation alphaAnimation = new AlphaAnimation(1,0);
137         alphaAnimation.setDuration(3000);
138         imgView.startAnimation(alphaAnimation);
139     }
140 }

转载于:https://www.cnblogs.com/langfei8818/p/6067437.html

Android学习笔记--动画特效相关推荐

  1. android学习笔记---55_frame动画的实现,Java技术qq交流群:JavaDream:251572072

    android学习笔记---55_frame动画的实现,Java技术qq交流群:JavaDream:251572072 Java技术qq交流群:JavaDream:251572072 2013/5/1 ...

  2. Android学习笔记之在图片特效

    1.涂鸦(能清屏) HandWritingActivity.java [java] view plaincopy package xiaosi.handWriting; import android. ...

  3. Android学习笔记之滑动翻页(屏幕切换)

    如何实现手机上手动滑动翻页效果呢?呵呵,在这里我们就给你们介绍一下吧. 一般实现这个特效会用到一个控件:ViewFlipper <1>View切换的控件-ViewFlipper 这个控件是 ...

  4. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

  5. Android学习笔记-常用的一些源码,防止忘记了

    Android学习笔记-常用的一些源码,防止忘记了... 设置拨打电话 StringdialUri="tell:"+m_currentTelNumble; IntentcallIn ...

  6. Android学习笔记21:ImageView获取网络图片

    Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...

  7. Android学习笔记(七):多个Activity和Intent

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

  8. Android学习笔记26:图片切换控件ImageSwitcher的使用

    在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...

  9. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

最新文章

  1. PAT乙级(Basic Level)练习题-写出这个数 (20)
  2. 成功解决RuntimeError: filter weights array has incorrect shape.
  3. Implementation:Bellman-ford
  4. tomcat关闭后线程依然运行解决办法
  5. commons-fileupload实现文件上传下载
  6. sourcetree如何配置ssh密钥 - 教程篇
  7. ajax 实时进度_【乐建工程宝】如何把控施工项目进度
  8. C++虚基类详解(转)
  9. Redis实战第一篇
  10. 网络安全之红蓝对抗实战
  11. 五十岁才考上大学的柳永,半生风流半生坎坷!
  12. 压在redis身上的三座大山
  13. 微信小程序:开心锤锤超火动态表情包微信小程序源码下载自动采集
  14. Zabbix 通过shell脚本监控PostgreSQL
  15. 三星s2 硬刷Android 8,六年老机吃上奥利奥:第三方三星S2安卓8.0刷机包发布
  16. 第十二届noc网络机器人赛项成绩_第十六届中小学NOC活动物流机器人赛项全国决赛获奖结果.pdf...
  17. 网络计算机win7为啥连不上,浅析win7旗舰版64位系统网络连接不上的解决方法
  18. HTML基础学习——定位
  19. Tal Ben-Shahar 积极心理学_课程小结
  20. 跟wms通信_应用与WMS的关联

热门文章

  1. Hyperic 脚本服务(Script service)配置
  2. 请问:这里的空应怎么填呀?
  3. PHOTOSHOP 快捷键
  4. php网站开发案例教程ppt,php网站开发案例教程》课件.ppt
  5. php时间戳 今天昨天,php求今天、昨天、明天时间戳的简单实现方法
  6. 运营商线路细分_电信运营行业细分领域分析
  7. jboss7 应用详解_COMSOL Multiphysics多物理场仿真技术与应用光电专题线上培训
  8. linux dd 截文件,Linux使用dd命令快速生成大文件(转)
  9. iOS9网络适配 info.plist配置
  10. Nature子刊:皮层内脑机接口的主导感