我有一个繁重的用户界面,可以延迟应用程序的负载。我想在加载活动的UI之前显示预加载器。请注意我的ui在xml文件中
答案 0 :(得分:0)
修改强>
如果要在视图寻呼机中加载10个选项卡,请使用仅加载相邻选项卡的FragmentStatePagerAdapter
(默认行为)。
如果您指定的繁重UI仅是UI元素,则应用程序必须在加载时冻结。所以你最好用加载消息显示一个不可取消的对话框(没有动画),片刻之后(比如200ms)加载你的UI并明确地关闭对话框。
但是,如果重要的东西不只是UI,可能是一些计算或图像处理,只需在后台线程中执行,同时显示带有进度的对话框,并在任务完成时取消对话框。
答案 1 :(得分:0)
@Hassan根据我的说法,如果单击启动器图标,如果您的应用程序需要一段时间来渲染第一个屏幕(可能在它们之间给出黑屏)。这需要在您的应用程序中得到纠正。
相反,如果您的应用程序主屏幕需要填充/检索某些资源以有效地吸引用户,您可以执行类似于启动屏幕(过时)的操作,您可以执行所有操作"填充/检索"然后简单地将数据传递给繁重的UI。 现在关于进度条,如果这个数据的获取很小,你可以给出一个不确定的"自定义"(一些移动的动画,可以套装你的应用程序)进度条,否则如果它像下载一样你可以轻松跟踪它在水平进度条中的进展和展示
答案 2 :(得分:0)
你确定可以!您正在描述预加载器。这是一个https://github.com/rtheunissen/md-preloader的一个很好的例子 您必须在问题中添加更多信息才能获得具体答案,但有一些基本原则。
如果您使用的预加载器不能显示负载的进度,它会让您的生活变得更加轻松,它只会四处转动,因为无法测量某些负载过程的速度。
如果是花费时间的数据加载(例如调用API),您可能希望为" loading"设置变量。在脚本顶部为true,然后在数据解析后,将其设置为" false"。在您的视图中,具有隐藏/取消隐藏预加载器的状态或条件元素。
如果大量图片放慢页面速度,您可能需要查看"延迟加载"或使用"无限滚动"仅在UI需要在屏幕上显示内容时显示内容。
这是我能提供的所有信息,但没有关于你目前为止的代码的更多信息。希望有所帮助!