java - 如何在surfaceView render() 中延迟图像出现

标签 java android android-canvas surfaceview

您好,感谢您的阅读。

我对 Android 中的 SurfaceView 和图形不熟悉,想知道如何将图像的显示延迟(例如每张图像 15 秒)。我假设我会将延迟放在 render() 方法中......我一直在尝试 15 秒计数的循环,但还没有成功。

public void render(Canvas canvas) {

        canvas.drawColor(Color.BLACK);

        droid.draw(canvas);

        droid2.draw(canvas);

        droid3.draw(canvas);


    } 

我如何实现渲染的延迟,如果不是在 render() 方法中,那么我应该在哪里进行修改。

感谢您的帮助。

最佳答案

我没有测试过,但我认为它应该有效。它可以在纯java中运行。

    // on init
    long beginTime, timeTaken;
    beginTime = System.nanoTime();


    public void render(Canvas canvas) {

            canvas.drawColor(Color.BLACK);

            droid.draw(canvas);

            if(timeTaken > 15000000000L)
            droid2.draw(canvas);

            if(timeTaken > 30000000000L) // both in nanoseconds
            droid3.draw(canvas);

            timeTaken = System.nanoTime() - beginTime;

        } 

我想应该可以。

关于java - 如何在surfaceView render() 中延迟图像出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18129905/

相关文章:

java - Java字符串比较不适用于.equals()方法

java - RxJava 2,DisposableSubscriber 释放时未调用 Flowable.doOnCancel

java - jstack 的输出缺少 tid 和 nid 信息

android - 了解 Canvas 和 Surface 概念

带有字体的 Android Canvas 旋转文本未正确保存在 SD 卡上

android - Android 中如何验证两个签名或抽奖是否相似?

java - Jetty 中 HTTP-Response 状态码中的 Unicodes

android - 如何为 HTML 和 Linkify 处理 textview

java - android 获取图片按时间排序

android - Mapstruct kotlin 和 @Named 注解