1

私はまだ最も基本的なニーズに問題を抱えています。2つのボタンが必要です。1つは画像を50ピクセル移動するトゥイーンアニメーションを実行し、もう1つはその画像のフレームごとのアニメーションを実行します。

トゥイーンアニメーションが完了すると、フレームごとのアニメーションが間違った場所で実行されます。変。私はFillAfter/FillEnabledを使用しています、

トゥイーンアニメーションを実行するコードは、基本的なTranslateAnimation(0、50、0、0)で、後は塗りつぶし、fillEnabled=trueです。

フレームごとのコードはimage.setImageDrawable(getResources()。getDrawable(resourceId));です。((AnimationDrawable)image.getDrawable())。start();

助けていただければ幸いです。

乾杯

4

1 に答える 1

2

私がそれを行う唯一の方法は、最初に新しいマージンでsetLayoutParamsを使用してイメージビューの位置を移動し、次に(-x、-y、0、0)を使用してTranslateAnimationを開始することです。 、これが私のコードです:

TranslateAnimation tweenAnim = new TranslateAnimation(-1 * XStep, -1  * YStep , 0, 0);
tweenAnim.setDuration(number_of_steps * 750);
tweenAnim.setFillAfter(true);
tweenAnim.setFillEnabled(true);
tweenAnim.setInterpolator(new LinearInterpolator());

 //layout positioning
lp.leftMargin  += XStep;
lp.bottomMargin += YStep;
imageView.setLayoutParams(lp);

Log.v(TAG, "leftMargin=" + lp.leftMargin);
Log.v(TAG, "bottomMargin=" + lp.bottomMargin);

imageView.startAnimation(tweenAnim);

これは大きな苦痛でした。真剣に。http://www.clingmarks.com/?p=400に感謝します。私はそれを克服することができました。

于 2011-05-24T17:19:41.677 に答える