【问题标题】:How to display a screen for a few seconds when the app launches?应用程序启动时如何显示几秒钟的屏幕?
【发布时间】:2021-08-31 23:34:59
【问题描述】:

我试图在我的应用启动时显示几秒钟的屏幕,但我在 kotlin 中找不到如何操作。我希望用户首先看到该屏幕,然后几秒钟后,它会直接进入登录屏幕,您能帮帮我吗?

【问题讨论】:

标签: android kotlin


【解决方案1】:

请使用处理程序添加一些时间延迟以启动下一个功能(在您的情况下是启动下一个活动)

 new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
        @Override
        public void run() {
          displayData();
        }
    }, 5000);  //5000 is delay time you can change according to you need

【讨论】:

  • 为每次启动在应用程序中添加延迟不是一个好主意,最好为启动屏幕自定义主题。
【解决方案2】:

您可以创建一个新 Activity,然后将其设置为您的起始 Activity,如下所示:

<activity
    android:name=".SplashScreenActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

然后,在您的 SplashScreenActivity 中,像这样处理延迟:

Handler().postDelayed({
    val intent = Intent(this, LoginActivity::class.java)
    startActivity(intent)
    finish()
}, 3000)  // 3 seconds

【讨论】:

  • 这也不是阻塞主线程几秒钟的好习惯。这不会提供良好的用户体验,因为用户每次启动应用时都会等待给定的秒数。
猜你喜欢
  • 2019-10-03
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2020-03-25
  • 1970-01-01
  • 2016-08-22
  • 2023-04-05
  • 1970-01-01
相关资源
最近更新 更多