`

Android 动画之AlphaAnimation、ScaleAnimation应用详解

 
阅读更多
本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,本文将详细介绍通过TranslateAnimation 来定义动画,需要的朋友可以参考下
android中提供了4中动画:
    AlphaAnimation 透明度动画效果
    ScaleAnimation 缩放动画效果
    TranslateAnimation 位移动画效果
    RotateAnimation 旋转动画效果

本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,
通过TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 来定义动画

参数说明:
复制代码 代码如下:

float fromXDelta 动画开始的点离当前View X坐标上的差值
float toXDelta 动画结束的点离当前View X坐标上的差值
float fromYDelta 动画开始的点离当前View Y坐标上的差值
float toYDelta 动画开始的点离当前View Y坐标上的差值

常用方法:
复制代码 代码如下:

animation.setDuration(long durationMillis);//设置动画持续时间
animation.setRepeatCount(int i);//设置重复次数
animation.setRepeatMode(Animation.REVERSE);//设置反方向执行

Xml属性:
复制代码 代码如下:

android:duration:运行动画的时间
android:repeatCount:定义动画重复的时间

代码:
复制代码 代码如下:

public class MainActivity extends Activity {
ImageView image;
Button start;
Button cancel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.main_img);
start = (Button) findViewById(R.id.main_start);
cancel = (Button) findViewById(R.id.main_cancel);
/** 设置位移动画 向右位移150 */
final TranslateAnimation animation = new TranslateAnimation(0, 150,0, 0);
animation.setDuration(2000);//设置动画持续时间
animation.setRepeatCount(2);//设置重复次数
animation.setRepeatMode(Animation.REVERSE);//设置反方向执行
start.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
image.setAnimation(animation);
/** 开始动画 */
animation.startNow();
}
});
cancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
/** 结束动画 */
animation.cancel();
}
});
}
}
<!--NEWSZW_HZH_END-->
本节讲解ScaleAnimation 动画,
ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
参数说明:
复制代码 代码如下:

float fromX 动画起始时 X坐标上的伸缩尺寸
float toX 动画结束时 X坐标上的伸缩尺寸
float fromY 动画起始时Y坐标上的伸缩尺寸
float toY 动画结束时Y坐标上的伸缩尺寸
int pivotXType 动画在X轴相对于物件位置类型
float pivotXValue 动画相对于物件的X坐标的开始位置
int pivotYType 动画在Y轴相对于物件位置类型
float pivotYValue 动画相对于物件的Y坐标的开始位置

代码:
复制代码 代码如下:

public class MainActivity extends Activity {
ImageView image;
Button start;
Button cancel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.main_img);
start = (Button) findViewById(R.id.main_start);
cancel = (Button) findViewById(R.id.main_cancel);
/** 设置缩放动画 */
final ScaleAnimation animation =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(2000);//设置动画持续时间
/** 常用方法 */
//animation.setRepeatCount(int repeatCount);//设置重复次数
//animation.setFillAfter(boolean);//动画执行完后是否停留在执行完的状态
//animation.setStartOffset(long startOffset);//执行前的等待时间
start.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
image.setAnimation(animation);
/** 开始动画 */
animation.startNow();
}
});
cancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
/** 结束动画 */
animation.cancel();
}
});
}
}
分享到:
评论

相关推荐

    Android 动画之ScaleAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解ScaleAnimation 动画, ScaleAnimation(float fromX...

    Android 动画之AlphaAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解AlphaAnimation 动画,窗口的动画效果,淡入淡出...

    Android各种动画效果Scale,Alpha,Translate,Rotate

    Android各种动画效果ScaleAnimation,AlphaAnimation,TranslateAnimation,RotateAnimation(文章结尾有代码)

    羽哥android动画-旋转+透明的血轮眼

    android动画 AlphaAnimation(透明度动画效果 );RotateAnimation(旋转动画效果);ScaleAnimation(缩放动画效果 ); TranslateAnimation(位移动画效果 )

    Android 动画之TranslateAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解TranslateAnimation动画,TranslateAnimation比较...

    补间动画demo

    补间动画 AlphaAnimation TranslateAnimation ScaleAnimation RotateAnimation

    Android动画之补间动画用法最全详解

    本文目录补间动画概述和分类各类补间动画实现xml实现补间动画透明度动画-AlphaAnimation缩放动画-ScaleAnimation位移动画-TranslateAnimation旋转动画-RotateAnimation动画组合-AnimationSet代码实现补间动画透明度...

    Android动画之渐变动画(Tween Animation)详解 (渐变、缩放、位移、旋转)

    本文实例讲述了Android动画之渐变动画(Tween Animation)。分享给大家供大家参考,具体如下: Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、...

    Android代码-简单创建属性动画

    渐变Alpha动画(AlphaAnimation),支持多值 2.旋转Rotate动画(RotateAnimation),支持设置轴点 3.缩放Scale动画(ScaleAnimation),支持多值,,支持设置轴点 4.全屏滑动Slide动画(SlideAnimation),支持上下...

    Android的淡入淡出动画代码例子

    Android的淡入淡出动画代码,并对透明度动画(AlphaAnimation,深浅动画)与淡入淡出动画做了效果对比

    android动画基础

    android动画基础 XML中 alpha 渐变透明度...JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果

    Android动画之补间动画(Tween Animation)基础学习

    前言 之前说过了在Android中,动画Animation的实现有两种方式:Tween Animation(渐变动画)和Frame Animation(帧动画)。渐变动画是通过对场景里...分类 : AlphaAnimation(透明度) ScaleAnimation(缩放) TranslateAn

    android_animation.zip_Mars_RotateAnimation_ScaleAnimation_Transl

    在Andriod开发中,Animation是用来给控件... 根据我们需要的动态效果创建一个Animation类,主要有4个这样的类,分别为AlphaAnimation,ScaleAnimation,RotateAnimation,TranslateAnimation,分别对应着一种动画效果。  

    android 补间动画(Tween Animation)和Frame Animation(帧动画)简单使用

    包含AlphaAnimation渐变效果 TranslateAnimation:位移渐变 ScaleAnimation:缩放渐变 RotateAnimation:旋转渐变 AnimationSet:组合渐变 frameAnimation:帧动画的xml和代码实现方式,非常适合新手朋友参考...

    android_动画

    AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果

    Android程序技术:动画补间动画.pptx

    透明度动画标签使用的子类名称是AlphaAnimation,实现的效果是改变整个View的透明度。;创建一个AnimationSet对象(Animation子类); 增加需要创建相应的Animation对象; 更加项目的需求,为Animation对象设置相应的...

    详谈Android动画效果translate、scale、alpha、rotate

    动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 ...渐变尺寸伸缩动画效果 ...画面转换位置移动动画效果 ...Android动画模式 Animation主要有两种动画模式: 一种是tweened

    android 下拉,淡入淡出特效源码

    android 下拉,淡入淡出特效源码 依赖support v7 // /** * PopupWindow上菜单进入动画 */ public static Animation createPopupAnimIn(Context context, int fromYDelta) { AnimationSet animationSet = new ...

    Android应用欢迎动画

    本文档是一个简单的欢迎动画的小例,是在一个正在开发的项目截取出来的。 动画已经通来测试,供大家参考。

Global site tag (gtag.js) - Google Analytics