Android Studio中的静态编程语言。
我正在尝试让imageView淡入主视图,等待几秒钟,然后淡出。对于我的生活,我找不到任何暂停或等待的留档。这让我发疯。
如何告诉我的函数冷静下来并等待3秒,然后继续执行函数的其余代码?
理想情况下,我会把它放在:
imageView.startAnimation(animIn)
imageView.startAnimation(animOut)
任何帮助都非常感谢!
动物园
您可以使用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