动画之补间平移动画
2016-02-08 21:05
260 查看
第一步:在res中创建一个anim目录
第二步:在anim目录中创建XML文件(translate.xml),并设置属性。不要忘了设置xmlns:。。。。,属性为oneshot,设置动画是否是循环播放,默认值为true。
第三步:在主函数中创建animation对象,并用AnimationUtils.loadAnimation(this,R.anim.translate);方法为animation对象添加动画效果。
第四步:在你所设定的图像视图中添加animation对象。
平移动画中的属性介绍:
android:interpolator//用于控制动画的变化速度,使得动画效果可以匀速、加速、减速或抛物线速度等各种速度变化。
android:fromXDelta="0"//设置动画水平方向开始位置
android:fromYDelta="0"//设置动画垂直方向开始位置
android:toXDelta="300"//设置动画水平方向结束位置
android:toYDelta="300"//设置动画垂直方向结束位置
android:duration="6000"//设置动画的持续时间
android:repeatCount="infinite"//设置动画的重复方式
android:repeatMode="reverse"//设置动画的重复次数
具体操作:
1、在drawable添加1张图片,即需要循环播放的图片
lm1:
2、添加anim文件夹,在anim添加translate.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"
android:interpolator="@android:anim/bounce_interpolator">
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="150"
android:toYDelta="150"
android:duration="2000"
android:repeatMode="reverse"
android:repeatCount="infinite"></translate>
</set>
3、布局文件activity_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/translate"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="平移"/>
<ImageView
android:id="@+id/im"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/lm1"
android:layout_below="@id/translate"/>
</RelativeLayout>
4、MainActivity.java
package com.example.bujian;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
Button button;
ImageView imageview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button) findViewById(R.id.translate);
imageview=(ImageView) findViewById(R.id.im);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation animation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);//创建animation对象,
imageview.startAnimation(animation);//为控件添加动画效果
}
});
}
}
第一步:在res中创建一个anim目录
第二步:在anim目录中创建XML文件(translate.xml),并设置属性。不要忘了设置xmlns:。。。。,属性为oneshot,设置动画是否是循环播放,默认值为true。
第三步:在主函数中创建animation对象,并用AnimationUtils.loadAnimation(this,R.anim.translate);方法为animation对象添加动画效果。
第四步:在你所设定的图像视图中添加animation对象。
平移动画中的属性介绍:
android:interpolator//用于控制动画的变化速度,使得动画效果可以匀速、加速、减速或抛物线速度等各种速度变化。
android:fromXDelta="0"//设置动画水平方向开始位置
android:fromYDelta="0"//设置动画垂直方向开始位置
android:toXDelta="300"//设置动画水平方向结束位置
android:toYDelta="300"//设置动画垂直方向结束位置
android:duration="6000"//设置动画的持续时间
android:repeatCount="infinite"//设置动画的重复方式
android:repeatMode="reverse"//设置动画的重复次数
具体操作:
1、在drawable添加1张图片,即需要循环播放的图片
lm1:
2、添加anim文件夹,在anim添加translate.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"
android:interpolator="@android:anim/bounce_interpolator">
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="150"
android:toYDelta="150"
android:duration="2000"
android:repeatMode="reverse"
android:repeatCount="infinite"></translate>
</set>
3、布局文件activity_main
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/translate"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="平移"/>
<ImageView
android:id="@+id/im"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/lm1"
android:layout_below="@id/translate"/>
</RelativeLayout>
4、MainActivity.java
package com.example.bujian;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
Button button;
ImageView imageview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button) findViewById(R.id.translate);
imageview=(ImageView) findViewById(R.id.im);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation animation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);//创建animation对象,
imageview.startAnimation(animation);//为控件添加动画效果
}
});
}
}
相关文章推荐
- 初识servlet
- Maven的使用
- 1015. 德才论
- Project Perfect让Swift在服务器端跑起来-引言(一)
- BZOJ 1770 USACO 2009 Nov Lights 灯 高斯消元异或方程组
- Oc计数器基本操作
- 水星MW300R v2 路由器刷DD-Wrt 小记
- android之WindowManager学习
- PAT1008.数组元素循环右移
- Runtime使ViewController具有name属性
- Linux学习笔记:为Nagios 4.1.1安装出图插件pnp 0.6.25
- 利用SQL语句修改记录
- vxWorks的二值信号量示例
- rhel6 下删除多余的内核版本
- 学习记录 - 1
- html中dl,dt,dd标签的用法
- 基于AT89C51教程之软件篇(二)学习前的知识储备
- Cocos2d-x 3.2在mac下android的环境配置
- HDU3336 Count the string(KMP)
- javaweb入门