我有一个“启动画面”,因为当我启动我的应用程序时,会启动一个没有UI的虚拟活动splashActivity。在此活动中,我验证了一些设置,如果它们有效,我会显示主视图。如果它们无效,我会显示登录视图。
实现这一点是有道理的,我有点想到一个虚拟启动画面来处理显示哪个活动的逻辑。
但我的问题来自于从发布到预期活动的过渡是突然而不顺利的。我注意到屏幕变白了,然后是黑色,然后进入我的预期活动。有没有办法让这种过渡更顺畅?也许这种假活动方法不正确?来自iOS开发,我们有一个AppDelegate类,它在显示任何视图之前处理这个逻辑,并且转换非常顺利。
TLDR:我应该如何基于某些逻辑来开始哪个活动?在像我现在这样的虚拟活动中,还是有另一种方式?如果使用虚拟活动,如何使过渡尽可能平滑。
答案 0 :(得分:1)
如何使转换尽可能顺利。
简单,只需在你的意图中添加一个标志:
Intent newIntent = new Intent(getBaseContext(), OtherActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(newIntent);
或者在开始新活动之后和任何其他生命周期调用之前立即覆盖挂起的转换:
overridePendingTransition(0, 0);
我应该如何根据某些逻辑来开始哪个活动?在像我现在这样的虚拟活动中,还是有另一种方式?
老实说,我不会使用2个活动,而是使用一个主要活动和多个片段(例如,登录和内容片段)来补偿以满足您的需求。您可以阅读有关碎片here的更多信息。