2016-11-22 2 views
1

私は自分の手でアニメーションを書いて、EditTextを振っています。 「シェイクユーザー」をタップすると、最初のEditTextが揺れます。私が「シェイクパス」をタップすると、2つのEditTextが一緒に揺れる。スクリーンショットが添付されています。ここで Android。複数のビューにカスタムアニメーションを適用するときの問題

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

私自身が解決策を見つけたようです。アニメーションが終了した後、私は 'view.clearAnimation()'と呼ばれ、すべて正常に動作しています – Andrew

答えて

0

自分で解決策を見つけたようです。アニメーションが終了した後にview.clearAnimation()と呼んだところ、すべて正常に動作しています

関連する問題