动画用xml和Java代码之间的简单转换
下面是窗口左右抖动的一个案例
xml加载动画
private void clickQuery() {
// 如果输入框没有内容,就抖动
String number = mEtNumber.getText().toString().trim();
if (TextUtils.isEmpty(number)) {
// 抖动
Animation shake = AnimationUtils.loadAnimation(this,
R.anim.shake);
mEtNumber.startAnimation(shake);
}
}
shake.xml内容
translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXDelta="0"
android:interpolator="@anim/cycle_7"
android:toXDelta="10" />
cycle_7.xml内容
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="7" />
java代码加载动画
private void clickQuery() {
// 如果输入框没有内容,就抖动
String number = mEtNumber.getText().toString().trim();
if (TextUtils.isEmpty(number)) {
// android 所有的xml类型的文件其实会映射成java代码
TranslateAnimation animation = new TranslateAnimation(0, 10, 0, 0);
animation.setDuration(1000);
animation.setInterpolator(new CycleInterpolator(7));
mEtNumber.startAnimation(animation);
}
}
*控制位移的方法TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)