1

ImageView画面全体を覆う大きなサイズを手に入れました。画面上の任意の場所を押すとアクティブになる「スライドイン」メニューを作成しました。アニメーションを使用して、メニューがスライドインするように見せました。

内の画像がImageView原因で、アニメーションが途切れます。空のままにしておくと、ImageViewとてもスムーズに進みます。

これはImageView、アニメーション中に 内の画像が絶えず再描画され、私の Android タブレットが処理に苦労しているためです。

に設定WillNotDrawtrueて、アニメーションが完了したときにImageView元に戻そうとしましfalseたが、これにより、アニメーションが(スムーズに)再生されている間に画像が消えてから、再び表示されます。

アニメーションの作成方法は次のとおりです。

topMenu.setVisibility(View.VISIBLE);
Animation slideDown = AnimationUtils.loadAnimation(this, R.anim.slide_down);
slideDown.setStartOffset(200);
topMenu.startAnimation(slideDown);

これはアニメーション xml です。

<?xml version="1.0" encoding="utf-8"?>
<set 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_interpolator">
   <translate 
       android:fromYDelta="-40" 
       android:toYDelta="0" 
       android:duration="200"/>
</set>

中の画像ImageViewBitmap

アニメーションの再生中に画像を表示したままにしながら、アニメーションの滑らかさを維持するにはどうすればよいですか?

4

2 に答える 2

0

ピーター、

コードによると、アニメーションを実行するたびにアニメーションをリロードしています。アニメーションの読み込み自体を、ローカル変数ではなくクラス メンバーに移動したい場合があります。これで多少の負担は軽減されます。追加情報が提供された場合の詳細。

于 2012-06-07T09:39:05.313 に答える
0

アニメーション リスナーを使用している場合、アニメーションの完了を確認し、これを使用して最後にイメージを描画するとします。

slideDown.setAnimationListener(new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onAnimationRepeat(Animation animation) {
                // TODO Auto-generated method stub

            }

            public void onAnimationEnd(Animation animation) {
                // Draw your Image here

            }
        });
于 2012-06-07T09:36:53.757 に答える