`

Android 动画之TranslateAnimation、RotateAnimation应用详解

 
阅读更多
本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,本文将详细介绍通过TranslateAnimation 来定义动画,需要的朋友可以参考下
本节讲解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();
}
});
}
}
 
本节讲解RotateAnimation 动画,
RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
参数说明:
float fromDegrees:旋转的开始角度。
float toDegrees:旋转的结束角度。
int pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
float pivotXValue:X坐标的伸缩值。
int pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
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 RotateAnimation animation =new RotateAnimation(0f,360f,Animation.RELATIVE_TO_SELF,
0.5f,Animation.RELATIVE_TO_SELF,0.5f);
animation.setDuration(3000);//设置动画持续时间
/** 常用方法 */
//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 动画之TranslateAnimation应用详解

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

    Android Animation之TranslateAnimation(平移动画)

    详情请见博客:https://blog.csdn.net/qq_20785431/article/details/101199524

    Android 动画之ScaleAnimation应用详解

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

    Android 动画之AlphaAnimation应用详解

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

    补间动画demo

    补间动画 AlphaAnimation TranslateAnimation ScaleAnimation RotateAnimation

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

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

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

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

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

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

    Android人脸扫描动画Demo

    当下App中二维码扫描、人脸扫描的场景越来越多,扫描的动画可以使用平移动画:TranslateAnimation Demo中是使用TranslateAnimation实现一个人脸扫描的效果,上下来回滑动(二维码扫描同理),参考我的博客有详细描述...

    android动画基础

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

    android_动画

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

    Android应用源码之原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip项目安卓应用源码下

    布局+TranslateAnimation搞定.zip项目安卓应用源码下Android应用源码之原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip项目安卓应用源码下 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合...

    简单位移动画TranslateAnimation

    简单循环动画 博文链接:https://gundumw100.iteye.com/blog/1087524

    Android应用源码之原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip

    Android应用源码之原来PATH的菜单效果如此简单。布局+TranslateAnimation搞定.zip

    图文详解Android属性动画

    关于视图动画可以参见博文《Android四大视图动画图文详解》。 一、概述 视图动画局限比较大,如下所述: 1、视图动画只能使用在View上面。 2、视图动画并没有真正改变View相应的属性值,这导致了UI效果与实际View...

    Android TranslateAnimation方法点击展开的半圆形PathMenu菜单.rar

    本源码主要演示使用Android的TranslateAnimation方法实现点击展开的半圆形PathMenu菜单,原来PATH的菜单效果如此简单。布局 TranslateAnimation就可以搞定了。如视图所示的运行效果,单击在右下角的“ ”图标,会...

    Android使用TranslateAnimation布局实现PATH菜单

    以前对实现android的PATH菜单挺苦恼,总觉得如何想办法都做不出来自己想要的效果,后来无意中看到了TranslateAnimation的布局方式,于是就试着做了一下,没想到效果比以前的棒,而且用法也挺简单,所以实现的整个...

Global site tag (gtag.js) - Google Analytics