3

私は少しキャンバスのものに挑戦し始め、それにいくつかの統計PNGファイルを追加することができました。

今、私はAnimationDrawable(ビットマップではなく)であると信じているPNGシーケンスをロードしたいと思います

アニメーション用の XML ファイルを作成しましたが、途方に暮れています。

Canvas オブジェクトに PNG シーケンスを追加する例は見つかりません。

4

3 に答える 3

-1

最初のフレームを描画し、 a を使用しHandlerて遅延をポストMessageし、処理時に次のフレームに移動して を呼び出しますinvalidate()

あなたがする必要があるのは:

ステップ1。オーバーライドVisualizerView.verifyDrawable(Drawable who)

@Override
protected boolean verifyDrawable(Drawable who) {
    return true;
}

ステップ2。変更MainActivity.addAnimationRenderer()

private void addAnimationRenderer() {
    final AnimationDrawable anim = (AnimationDrawable) getResources().getDrawable(R.drawable.png1);

    AnimationRenderer animRenderer = new AnimationRenderer(anim);
    mVisualizerView.addRenderer(animRenderer);

    anim.setCallback(mVisualizerView);
    mVisualizerView.post(new Runnable() {
        @Override
        public void run() {
            anim.start();
        }
    });
}

ステップ#3。修正AnimationRenderer:削除

mBitmap.setCallback(null);
mBitmap.start();
于 2013-06-14T14:01:48.403 に答える