2

TranslateAnimationを使用してアニメーション化されたビューがあります:

TranslateAnimation translateAnim = new TranslateAnimation(fromX, toX, fromY, toY);
translateAnim.setDuration(SLIDING_SPEED);
translateAnim.setInterpolator(new BounceInterpolator());
translateAnim.setFillAfter(true);
mSlidingView.startAnimation(translateAnim);

アニメーションは正常に機能しますが、終了後、ビューをクリックできなくなります。代わりに、以前の場所をクリックすることもできます。

StackOverflowで同様の質問(ここここここ)を検索しましたが、いずれも解決策を提供していません。ObjectAnimatorがこれを修正したと聞きましたが、以前のAPIを使用してできることはありますか?(ハニカム前のデバイスで新しいアニメーションAPIをサポートするために、NineOldAndroidsのような別のサードパーティライブラリに依存したくありません)。ああ、私はビューを無効にしようとしましたが、何も変わりません。

何か案が?

ありがとう!

4

2 に答える 2

0

さて、リンクはないと思いますが、試してみましたか:(setFillAfterの前に)

translateAnim.setFillEnabled(true);
于 2012-05-09T09:43:41.037 に答える
0

API 11以降では、 ObjectAnimatorクラスでこれを行うことができます。

API 10-では、ビューを変換すると、ビジュアルビューが変換されますが、物理的な場所は古い場所にとどまり、アニメーションの終了後に変換されたビューのマージンを変更すると、問題が解決する可能性があります。

于 2014-01-27T13:39:00.297 に答える