2017-03-04 11 views
1

さまざまなアニメーションを使用してプロジェクトを処理しているときに、アニメーション中に[表示]をクリックすることができないことがわかりました。アニメーション中にオンクリックしても表示されない

onClickは、アニメーションの終了点または開始点のいずれかでのみ動作しますが、その間は動作しません。

たとえば、カスタムImageViewを拡張するCarオブジェクトがあります。そして、私は車を画面上で動かしたいと思っています。目的は、移動中に車をクリック可能にすることです。そのため、運転中のアニメーションユーザーはそれをクリックして何らかのアクションを実行できます。コード上で与えられた

public class Car extends GraphicObject{ 

public Car(Context context, int resourceImage, int rawHeight, int rawWidth) { 
    super(context, resourceImage, rawHeight, rawWidth); 
    setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Log.d(TAG, "Works while animated."); 

     } 
    }); 
} 

public void startMoving(int duration) { 
    Animation animation = new TranslateAnimation(
      Animation.RELATIVE_TO_SELF, +7f, 
      Animation.RELATIVE_TO_SELF, -7f, 
      Animation.RELATIVE_TO_SELF, 0f, 
      Animation.RELATIVE_TO_SELF, 0f 
    ); 
    animation.setRepeatCount(Animation.INFINITE); 
    animation.setRepeatMode(Animation.RESTART); 
    animation.setDuration(duration); 

    startAnimation(animation); 
} 

} 

だけ車が移行を完了することになっている領域にのonClickを行います。残念ながら移行中は何も動作しません。

アニメーションの切り替え中にオブジェクトをクリック可能にする方法はありますか?実際にアニメーションなしでオブジェクトを移動したくないのは、私には多大な不便をもたらすからです。

+0

'Animation'sを使用しないでください。代わりに' Animator'sを使用してください – pskink

+0

Animatorがこの問題を解決する方法を教えてください。 – NickitaX

+1

https://developer.android.com/guide/topics/graphics/prop-animation.html、最も簡単な方法はhttps://developer.android.com/guide/topics/graphics/prop-animation.html#viewです-prop-animator – pskink

答えて

1

アドバイスpskinkのおかげで、解決策はアニメーションの代わりにアニメーターを使用することでした。アニメーション中にonClick on Viewを実行できないという主な問題は、Animatorで解決されています。これは有用であろう:

https://android-developers.googleblog.com/2011/05/introducing-viewpropertyanimator.html

https://developer.android.com/guide/topics/graphics/prop-animation.html

注意してください:あなたはサムスンのデバイスとアニメーションでアプリケーションをテストしている万が一、動作しない開発者向けの設定に移動して、アニメーションを有効にした場合期間最小1倍にスケーリングします。私の場合は、アプリケーションで使用されているアニメーションを見ることができませんでした。

関連する問題