java - Android 动画无法正常工作

标签 java android animation

我使用以下代码段来制作气球动画。这里的气球什么都不是,而是按钮,它使用平移动画进行动画处理。

动画效果很好,但在气球移动时会显示一些白点(参见图片)。为什么?有什么解决办法吗?

查看此图片:

enter image description here

            -------------
    anim = new TranslateAnimation(0, 360,1000,-100 );
    anim.setRepeatMode(Animation.REVERSE);
    anim.setRepeatCount(Animation.INFINITE);
    anim.setDuration(10000L);
    anim.setInterpolator(new AccelerateDecelerateInterpolator());

    btnBalloon.setAnimation(anim);

最佳答案

您不会在每个新框架上清除 Canvas 。这些点是之前仍然可见的气球实例的边缘。

每次绘制 Canvas 时,它都不会从头开始,而是在现有内容之上绘制。这意味着每次绘制气球时,它都会绘制在它的所有其他实例之上。我猜你的气球图像有黑色背景?要解决此问题,您需要通过在每一帧上重新绘制背景来“清除” Canvas 。在这种情况下,您需要绘制一个覆盖整个框架的黑色矩形,绘制气球之前。

关于java - Android 动画无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7696209/

相关文章:

ios - 在 Animation 中减慢 UIView 动画

Android RecyclerView 删除项目动画错误

java - 自动向下滚动 JTextArea 以显示最后添加的行

java - 如何在java中将1.1760481E7转换为11760481

Android:如何在不使用android sdk工具的情况下在设备上安装apk

android - 在android中同时播放图像和音频

java - 在单选按钮可绘制的左侧添加填充

android - 在android中创建旋转轮?

java - 使用c++模板生成JNI函数

java - Maven 组 ID 中的 "com"是什么意思?有必要吗?