ライブ壁紙を作りました。onTouchEvent() でアニメーションを描画したり、タッチ イベントの場所で 1 つの PNG ファイルから別の PNG ファイルに遷移したりしたいと考えています。これまでのところ、PNG ファイルの 1 つをその場所に描画できましたが、トランジションを機能させることができませんでした。
ある画像から別の画像へのフェードをアニメーション化するために現在使用しているコードは次のとおりです。
void drawTouchPoint(Canvas c) {
if (mTouchX >=0 && mTouchY >= 0) {
TransitionDrawable td = new TransitionDrawable(new Drawable[] {getResources().getDrawable(R.drawable.pipe_logo), getResources().getDrawable(R.drawable.pipe_logo_blank)});
td.setBounds(mTouchX, mTouchY, mTouchX + 100, mTouchY + 100);
td.setCrossFadeEnabled(true);
td.startTransition(3000);
td.draw(c);
}
}
上記のコードは、pipe_logo イメージのみを描画します。順序を逆にしてみましたが、pipe_logo_blank 画像のみが描画されます。私はこれに近づいていて、単純なものが欠けているように感じます。どんな助けでも大歓迎です。
注: アニメーションを使用する多くの例を見つけましたが、それらはすべて ImageView などのビューを必要とします。この場合、ライブ壁紙を使用しているため、使用できるビューがありません。