Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在Kotlin(Android)中创建加载屏幕_Kotlin - Fatal编程技术网

尝试在Kotlin(Android)中创建加载屏幕

尝试在Kotlin(Android)中创建加载屏幕,kotlin,Kotlin,我正在尝试使用kotlin在应用程序中创建一个简单的加载屏幕 我不想只显示一个文本,我想播放一个声音并显示一个图像,大约3秒钟 我使用Thread.sleep创建了一个布局,设置为3秒,但它不起作用 有人能看到我遗漏了什么吗 谢谢大家! class MatrixActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(saved

我正在尝试使用kotlin在应用程序中创建一个简单的加载屏幕

我不想只显示一个文本,我想播放一个声音并显示一个图像,大约3秒钟

我使用
Thread.sleep
创建了一个布局,设置为3秒,但它不起作用

有人能看到我遗漏了什么吗

谢谢大家!

class MatrixActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.loading_activity_matrix)

        Thread.sleep(3000)

        setContentView(R.layout.activity_matrix)

        A00.setOnClickListener { sendCommand("00000")}
        B00.setOnClickListener { sendCommand("00100")}
        C00.setOnClickListener { sendCommand("00200")}
        D00.setOnClickListener { sendCommand("00300")}
        E00.setOnClickListener { sendCommand("00400")}
        F00.setOnClickListener { sendCommand("00500")}
        G00.setOnClickListener { sendCommand("00600")}
        H00.setOnClickListener { sendCommand("00700")}

如果您使用的是Kotlins协程,那么可以使用

runBlocking {
    delay(3000) //waits for 3s
}

代替
Thread.sleep(3000)
让线程睡眠给定的毫秒数。如果您需要设置协同程序的帮助,或者需要更多信息,Kotlin网站上有很好的解释:。

您无法在主(UI)线程中睡眠。使用
postRunnable
创建将在主线程上发生的延迟操作。但也要记住,用户绝对不喜欢加载屏幕,所以为什么要创建一个人工屏幕呢?谢谢你的回答!是的,没有人喜欢加载屏幕,但是这个特定的活动需要有这个屏幕。当这个人按下按钮时,通过蓝牙发送一个命令来执行Arduino,这个comand需要大约3秒钟来执行它的操作。与其只是显示一个无聊的“加载…”屏幕,不如将其作为一个提示。谢谢你的回答!你能描述更多吗?我已经编辑了我的答案,以包含更多的信息。我没有Android开发的经验,但我希望我添加的内容能有所帮助。