java - 用android Canvas 绘制的动画/闪光圆

标签 java android android-layout android-canvas android-view

我有一个自定义 View 。我覆盖了 onDraw 方法来绘制一个实心圆,等等。我想让圆圈在红色和蓝色之间闪烁,间隔可以是100毫秒。我将如何完成这样的动画?到目前为止我已经

    @Override
protected void onDraw(Canvas canvas) {
    this.mFilledPaint.setColor(Color.BLUE);
    canvas.drawCircle(x, y, radius, mFilledPaint);
}

最佳答案

int color = Color.BLUE;
postDelayed(new Runnable() {
    @Override
    public void run() {
        color = (color == Color.BLUE) ? Color.Black : Color.BLUE;
        invalidate();
        postDelayed(this, 100);
    }
}, 100);

@Override
protected void onDraw(Canvas canvas) {
    this.mFilledPaint.setColor(color);
    canvas.drawCircle(x, y, radius, mFilledPaint);
}

在构造函数中调用延迟的帖子或您认为相关的任何其他函数。

关于java - 用android Canvas 绘制的动画/闪光圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939156/

相关文章:

java - 检查列表中的字符串是否可以通过连接同一列表中的元素形成

Java类设计

安卓用户界面 : "Smart" centering?

java - 如何创建一个简单/空的 Java 库项目来编译为 Unity 的 Android 服务?

java - 按字母顺序排列的 ArrayList (java)

java - Android - 奇怪的 EscapeUtil.unescapeString 崩溃

android - Realm Kotlin - 删除 Realm 对象

android - 以编程方式添加布局android

Android 8 Oreo EditText 不允许长按粘贴

java - Android - 在动态创建的表格行之间留出空间