1

我创建了一个动态壁纸。我希望 onTouchEvent() 在触摸事件位置绘制动画或从一个 PNG 文件过渡到另一个 PNG 文件。到目前为止,我能够在该位置绘制一个 PNG 文件,但我无法让过渡工作。

这是我目前用来尝试从一个图像到另一个图像的淡入淡出动画的代码:

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。在这种情况下,因为我使用的是动态壁纸,所以我没有可用的视图。

4

0 回答 0