提问者:小点点

如何用静态编程语言告诉函数等待几秒钟?


Android Studio中的静态编程语言。

我正在尝试让imageView淡入主视图,等待几秒钟,然后淡出。对于我的生活,我找不到任何暂停或等待的留档。这让我发疯。

如何告诉我的函数冷静下来并等待3秒,然后继续执行函数的其余代码?

理想情况下,我会把它放在:

imageView.startAnimation(animIn)
imageView.startAnimation(animOut)

任何帮助都非常感谢!

动物园


共3个答案

匿名用户

您可以使用Handler,

Handler().postDelayed(Runnable { 
    //anything you want to start after 3s
}, 3000)

匿名用户

因为这是静态编程语言特有的,而不仅仅是Android。为什么不使用协程呢?

GlobalScope.launch {
    imageView.startAnimation(animIn)
    delay(3_000L)
    imageView.startAnimation(animOut)
}

这是一个天真的例子,在GlobalScope上启动,设置/了解协程的一些开销可能意味着它不适合你的用例。但是如果你已经在你的应用程序中使用协程,或者期望在未来使用协程,那么这段代码的意图非常明确。

匿名用户

导入android. os.Handler并尝试以下操作:

Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            public void run() {
                // yourAnimationMethod();
            }
        }, 1000); // 1000 milliseconds

如果您正在寻找单行代码,您可以尝试:

(new Handler()).postDelayed(this::yourAnimationMethod, 1000); // 1000 milliseconds