1
私は自分の手でアニメーションを書いて、EditText
を振っています。 「シェイクユーザー」をタップすると、最初のEditText
が揺れます。私が「シェイクパス」をタップすると、2つのEditText
が一緒に揺れる。スクリーンショットが添付されています。ここで Android。複数のビューにカスタムアニメーションを適用するときの問題
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();
}
おかげであるにあります!
私自身が解決策を見つけたようです。アニメーションが終了した後、私は 'view.clearAnimation()'と呼ばれ、すべて正常に動作しています – Andrew