您的位置:首页 > 其它

动画之补间平移动画

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);//为控件添加动画效果
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: