Android学习笔记--动画特效
直接上代码,有事先不多写,以后在补
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学习笔记--动画特效相关推荐
- android学习笔记---55_frame动画的实现,Java技术qq交流群:JavaDream:251572072
android学习笔记---55_frame动画的实现,Java技术qq交流群:JavaDream:251572072 Java技术qq交流群:JavaDream:251572072 2013/5/1 ...
- Android学习笔记之在图片特效
1.涂鸦(能清屏) HandWritingActivity.java [java] view plaincopy package xiaosi.handWriting; import android. ...
- Android学习笔记之滑动翻页(屏幕切换)
如何实现手机上手动滑动翻页效果呢?呵呵,在这里我们就给你们介绍一下吧. 一般实现这个特效会用到一个控件:ViewFlipper <1>View切换的控件-ViewFlipper 这个控件是 ...
- Android学习笔记:Android基础知识点(不断更新中)
1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...
- Android学习笔记-常用的一些源码,防止忘记了
Android学习笔记-常用的一些源码,防止忘记了... 设置拨打电话 StringdialUri="tell:"+m_currentTelNumble; IntentcallIn ...
- Android学习笔记21:ImageView获取网络图片
Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...
- Android学习笔记(七):多个Activity和Intent
根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...
- Android学习笔记26:图片切换控件ImageSwitcher的使用
在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
最新文章
- PAT乙级(Basic Level)练习题-写出这个数 (20)
- 成功解决RuntimeError: filter weights array has incorrect shape.
- Implementation:Bellman-ford
- tomcat关闭后线程依然运行解决办法
- commons-fileupload实现文件上传下载
- sourcetree如何配置ssh密钥 - 教程篇
- ajax 实时进度_【乐建工程宝】如何把控施工项目进度
- C++虚基类详解(转)
- Redis实战第一篇
- 网络安全之红蓝对抗实战
- 五十岁才考上大学的柳永,半生风流半生坎坷!
- 压在redis身上的三座大山
- 微信小程序:开心锤锤超火动态表情包微信小程序源码下载自动采集
- Zabbix 通过shell脚本监控PostgreSQL
- 三星s2 硬刷Android 8,六年老机吃上奥利奥:第三方三星S2安卓8.0刷机包发布
- 第十二届noc网络机器人赛项成绩_第十六届中小学NOC活动物流机器人赛项全国决赛获奖结果.pdf...
- 网络计算机win7为啥连不上,浅析win7旗舰版64位系统网络连接不上的解决方法
- HTML基础学习——定位
- Tal Ben-Shahar 积极心理学_课程小结
- 跟wms通信_应用与WMS的关联
热门文章
- Hyperic 脚本服务(Script service)配置
- 请问:这里的空应怎么填呀?
- PHOTOSHOP 快捷键
- php网站开发案例教程ppt,php网站开发案例教程》课件.ppt
- php时间戳 今天昨天,php求今天、昨天、明天时间戳的简单实现方法
- 运营商线路细分_电信运营行业细分领域分析
- jboss7 应用详解_COMSOL Multiphysics多物理场仿真技术与应用光电专题线上培训
- linux dd 截文件,Linux使用dd命令快速生成大文件(转)
- iOS9网络适配 info.plist配置
- Nature子刊:皮层内脑机接口的主导感