【问题标题】:Splash screen while loading resources in android app在android应用程序中加载资源时的闪屏
【发布时间】:2011-02-16 15:04:23
【问题描述】:

我希望在加载资源(图像和声音)时有一个启动画面。我怎么知道所有内容都已加载? 是否在应用启动时加载所有资源?

谢谢

【问题讨论】:

    标签: android resources splash-screen


    【解决方案1】:

    为了在 Android 中实现相应的启动画面,您需要:

    1. 为用户显示带有一些进度指示的前景屏幕。
    2. 执行后台线程来执行需要一些不确定时间的任务。
    3. 两个线程之间进行通信,因为您需要前台在后台显示进度。
    4. 在后台线程完成任务后正确终止它。如果您打算在 Android 中使用 AsyncTask,那么您会遇到问题。 (Link)

    我找到了这个教程,我强烈推荐它:http://www.41post.com/4588/programming/android-coding-a-loading-screen-part-1

    第 1 部分完成此基本任务,第 2 部分向您展示如何正确终止 AsyncTask。第 3 部分将自定义视图放在前台而不是 ProgressActivity。

    【讨论】:

    • 在第 2 步中,与其等待一些不确定的时间,我可以知道何时加载所有内容然后关闭启动屏幕吗?
    【解决方案2】:

    您可以在 asyncTask 中完成所有加载,然后您的 onPostExecute 删除启动画面。这将有助于确保您在执行任何可能导致 ANR 弹出的昂贵任务时不会阻塞 UI 线程。

    【讨论】:

      【解决方案3】:

      来吧,写了一篇关于如何创建带有进度条的 SplashScreen 的教程:
      http://blog.blundellapps.com/tut-splashscreen-with-progress-bar/

      基本上,它会启动 ASyncTask,而不是您的线程,而是将您的progressSpinner 的引用传递给 ASyncTask,这将在线程正在下载资源(或您想做的任何事情)时更新它。

      【讨论】:

      • 相当不错!我不明白为什么版主有时会删除这些答案,因为它指向了一个存在于外部资源中的解决方案,比如你的。至少,它发生在我身上:(...无论如何,它(博客)提供了一个很好的实现进度条的例子。谢谢。
      【解决方案4】:

      这是有关如何完成它的完整教程。我自己用过这个,效果很好。

      http://www.barebonescoder.com/2010/04/a-simple-android-splash-screen/

      【讨论】:

      • 与其等待任意时间,有什么办法可以知道何时加载所有内容以启动应用程序?
      • 那么您所要做的就是从您的 Splash 开始并启动您的主要活动。然后,在加载 Activity 时,您会看到一个漂亮的初始屏幕。
      • 链接似乎已失效 - “找不到页面”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      相关资源
      最近更新 更多