我已经编写了自己的摇动动画来动摇EditText
。当我点击“SHAKE USER”时,第一个EditText
摇动。当我点击“SHAKE PASS”时,两个EditText
一起摇动,这不应该发生。屏幕截图已附上。Screenshot
这是动画文件
shake.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="0%p"
android:toXDelta="2%"
android:repeatCount="5"
android:repeatMode="reverse"
android:interpolator="@android:anim/linear_interpolator"
android:duration="50" />
</set>
以下是Java代码段
Animation shake = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.shake);
findViewById(R.id.b1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
shakeView(etUser);
}
});
findViewById(R.id.b2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
shakeView(etPass);
}
});
private void shakeView(final View view) {
new Thread(new Runnable() {
@Override
public void run() {
view.post(new Runnable() {
@Override
public void run() {
view.startAnimation(shake);
}
});
}
}).start();
}
谢谢!
答案 0 :(得分:0)
似乎我自己找到了解决方案。动画结束后我调用view.clearAnimation()
,一切正常