Android里的大部分widget都可以加进动画,下面是一个小示例:
先在res里创建anim文件夹,在里面创建动画配置文件1,shake.xml:
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0" android:toXDelta="10" android:duration="1000" android:interpolator="@anim/cycle" />
接下来是第二个动画配置文件cycle.xml
<?xml version="1.0" encoding="utf-8"?> <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="10"<!--表示来回晃动10次--> />
调用,效果是你按下按钮(id为shakeIt),屏幕上的图片(id为beShake)就来回晃动。不一定是图片,其他的TextView,botton等都可以!
package com.ray.shake;
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;
public class Shake extends Activity implements OnClickListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button)findViewById(R.id.shakeIt);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Animation anim =AnimationUtils.loadAnimation(this, R.anim.shake);
findViewById(R.id.beShake).startAnimation(anim);
}
}