android 位移动画路径,Android动画之——AnimationDrawable

最近在学Android的AnimationDrawable,简单的写一个动画的实现过程。

简单介绍

Animation代表一个动画,目前Android支持逐帧动画(就是所谓的老电影哪样一张一张放映出来)也支持补间动画(就是通过平移、变化计算出来的动画)。

代码片段

定义动画的XML文件应该放在/res/anim路径下,注意创建的XML类型是TweenAnimation类型的。下面首先定义一个XML文件:

android:interpolator="@android:anim/linear_interpolator"

android:duration="5000">

android:toXScale="1.4"

android:fromYScale="1.0"

android:toYScale="1.4"

android:pivotX="50%"

android:pivotY="50%"

android:fillAfter="true"

android:duration="2000"/>

android:toXDelta="130"

android:fromYDelta="30"

android:toYDelta="-80"

android:duration="2000"/>

res资源文件定义好后开始撰写布局文件(图片资源请自行添加):

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:text="动画" />

android:id="@+id/imageView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_below="@+id/button1"

android:src="@drawable/image01" />

接下来就是最重要的Java文件了:

package com.example.test;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.widget.Button;

import android.widget.ImageView;

public class MainActivity extends Activity {

private Button bt;

private ImageView iv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

bt = (Button) findViewById(R.id.button1);

iv = (ImageView) findViewById(R.id.imageView1);

final Animation anim = AnimationUtils.loadAnimation(this, R.anim.my_anim);

anim.setFillAfter(true);//设置动画完成后是否保持完成后的状态

/*

* 按钮的监听事件

*/

bt.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

iv.startAnimation(anim);

}

});

}

}

写到这里也就OK了,由于还不知道怎么录制小视频,效果图大家就自行脑补吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值