安卓动画基础讲解

//逐帧动画
/**
* 1.加入单张图片
* 2.生成movie.xml整个图片
* 3.代码中使用图片movie.xml
*/
iv=(ImageView) findViewById(R.id.iv);
// iv.setImageResource(R.drawable.movie);//为iv加载六张图片
// AnimationDrawable ad=(AnimationDrawable) iv.getDrawable();//得到图片给动画图片
// ad.start();

DisplayMetrics dm = new DisplayMetrics();
getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;//得到屏幕宽度

//补间动画,平移
//1.通过代码直接写
// Animation translate=new TranslateAnimation(0, width, 0, 0);
// translate.setDuration(2000);
// translate.setFillAfter(true);//动画完成后,留在原位

// translate.setRepeatCount(2);//重复2次
// translate.setStartOffset(1000);//等待1秒后再动

// iv.startAnimation(translate);

//2.调用xml文件
Animation translate=AnimationUtils.loadAnimation(this, R.anim.push_to_right);
iv.startAnimation(translate);
//iv.setAnimation(translate);也行

//动画监听事件
translate.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {

}

@Override
public void onAnimationRepeat(Animation animation) {

}

@Override
public void onAnimationEnd(Animation animation) {
Intent intent=new Intent(MainActivity.this,SecondAty.class);
startActivity(intent);
finish();

}
});

}

// 旋转动画
// 角度从0到360,pivotXType取谁的X值(界面的?就自身这个图片) pivotYType
// Animation rotator = new RotateAnimation(0, 360,
// RotateAnimation.RELATIVE_TO_SELF, 0.5f,
// RotateAnimation.RELATIVE_TO_SELF, 0.5f);
// rotator.setDuration(3000);
// rotator.setFillAfter(true);
// iv.startAnimation(rotator);

// 渐变
// Animation alpha = new AlphaAnimation(0, 0.9f);//从看不见到看到90%
// alpha.setDuration(3000);
// alpha.setFillAfter(true);
// iv.startAnimation(alpha);

// 拉伸
// fromX, toX, fromY, toY平移动画的四个参数,x轴伸缩尺寸,y轴伸缩尺寸
//ScaleAnimation.RELATIVE_TO_SELF, 3f//X轴坐标是自己图片宽度的3倍
Animation scale = new ScaleAnimation(0, 0.3f, 0, 0.5f,
ScaleAnimation.RELATIVE_TO_SELF, 3f,
ScaleAnimation.RELATIVE_TO_SELF, 3f);
scale.setDuration(3000);
scale.setFillAfter(true);
iv.startAnimation(scale);

时间: 2024-11-05 19:25:40

安卓动画基础讲解的相关文章

iOS自定义转场动画实战讲解

iOS自定义转场动画实战讲解 转场动画这事,说简单也简单,可以通过presentViewController:animated:completion:和dismissViewControllerAnimated:completion:这一组函数以模态视图的方式展现.隐藏视图.如果用到了navigationController,还可以调用pushViewController:animated:和popViewController这一组函数将新的视图控制器压栈.弹栈. 下图中所有转场动画都是自定义的

动画基础--基于Core Animation(3)

参考:https://zsisme.gitbooks.io/ios-/content/ 前面的文章动画基础--基于Core Animation(1),动画基础--基于Core Animation(2)提到了图层的基本概念以及可动画参数几何学等知识. 本片文章将继续探讨更加深入的动画知识. 前面已经两篇文章已经就图层的概念和几何学和效果表现,变换等左列介绍. 在前面的两篇文章中大部分采用了视图自带的backing 图层进行讲解,本身这个图层是禁止动画效果的.所以在前面的文章中很少看到明显的 动画,

JavaScript继承基础讲解,原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承

说好的讲解JavaScript继承,可是迟迟到现在讲解.废话不多说,直接进入正题. 既然你想了解继承,证明你对JavaScript面向对象已经有一定的了解,如还有什么不理解的可以参考<面向对象JS基础讲解,工厂模式.构造函数模式.原型模式.混合模式.动态原型模式>,接下来讲一般通过那些方法完成JavaScript的继承. 原型链 JavaScript中实现继承最简单的方式就是使用原型链,将子类型的原型指向父类型的实例即可,即“子类型.prototype = new 父类型();”,实现方法如下

【2017-04-01】JS字符串的操作、时间日期的操作、函数、事件、动画基础

一.字符串的操作 1.转大写: s.toLowerCase(); 2.转大写: s.toUpperCase(); 3.字符串的截取: s.substr(3,4);      -从索引3开始截取,截取4位.索引从0开始. 4.将字符串按指定的字符拆开: s.split(",");             引号内放指定的字符.返回的是一个数组. 5.字符串长度: s.length; 6.字符串中一个字符的索引: s.indexOf("world");      worl

iOS开发UI篇—核心动画(基础动画)

iOS开发UI篇—核心动画(基础动画) 一.简单介绍 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue 如果fillMode=kCAFillModeForwards和removedOnComletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态.但

动画基础--基于Core Animation(2)

参考:https://zsisme.gitbooks.io/ios-/content/ 前面的文章动画基础--基于Core Animation(1)提到了图层的基本概念以及可动画参数几何学等知识. 本片文章将继续探讨更加深入的动画知识. 6.视觉效果 圆角 圆角设定可以让原本死板的直角视图更加美观和谐:> -(void)radiusView { radiusView = [[UIView alloc]initWithFrame:CGRectMake(100.0f, 50.0f, 100.0f,

《Programming WPF》翻译 第8章 1.动画基础

原文:<Programming WPF>翻译 第8章 1.动画基础 动画包括在一段时间内改变用户界面的某些可见的特征,如它的大小.位置或颜色.你可以做到这一点,非常困难的通过创建一个timer并在每一个timer_tick句柄中修改用户界面的外观.当然,这是动画在Win32或Windows Forms中典型的做法.幸运的是,WPF照顾到这些低级别的细节.动画,就像WPF中的其他特征,简单的要求我们声明想要做的.系统会为我们照顾它的实现. 所有的WPF动画支持归结为,在一段时间内改变一个或多个属

面向对象JS基础讲解,工厂模式、构造函数模式、原型模式、混合模式、动态原型模式

什么是面向对象?面向对象是一种思想!(废话). 面向对象可以把程序中的关键模块都视为对象,而模块拥有属性及方法.这样我们如果把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.接下来将为大家讲解在JS中面向对象的实现. 工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,而由于在ECMAScript中无法创建类,因此用函数封装以特定接口创建对象.其实现方法非常简单,也就是在函数内创建一个对象,给对象赋予属性及方法再将对象返回即可. function createBlog(

动画基础知识汇总

转载自http://www.cnblogs.com/kenshincui/p/3972100.html --iOS核心动画 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画组.转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等.在今天的文章里您可以看到动画操作在iOS中是如何简单和高效,很多原来想做但是苦于没有思路的动画在iO