我已经将Android的新闪屏API集成到我的应用程序中。现在,如果用户已登录,我希望将用户重定向到登录屏幕,如果用户未登录,则重定向到注册屏幕,一旦启动屏幕API执行完成。
这是我为闪屏API定义的主题
<style name="Theme.CustomSplashScreen" parent="Theme.SplashScreen">
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_logo</item>
<item name="windowSplashScreenAnimationDuration">5000</item>
<item name="postSplashScreenTheme">@style/Theme.SanskarEducation</item>
</style>
字符串
下面是该活动的代码
@RequiresApi(Build.VERSION_CODES.S)
override fun onCreate(savedInstanceState: Bundle?) {
val splash = installSplashScreen()
splash.setKeepOnScreenCondition { false }
setupSplashScreen()
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_login)
initialSetup()
}
@RequiresApi(Build.VERSION_CODES.S)
private fun setupSplashScreen() {
splashScreen.setOnExitAnimationListener { splashScreenView ->
val slideUp = ObjectAnimator.ofFloat(
splashScreenView,
View.TRANSLATION_Y,
0f,
-splashScreenView.height.toFloat()
)
slideUp.interpolator = AnticipateInterpolator()
slideUp.duration = 800L
slideUp.doOnEnd { splashScreenView.remove() }
slideUp.start()
}
}
型
我也试过使用下面的代码,但它没有工作。它总是重定向到登录屏幕。
val splash = installSplashScreen()
splash.setKeepOnScreenCondition { false }
型
我想知道在哪里可以放置我的条件来检查用户是否登录,以便我可以将用户重定向到特定的屏幕。
先谢谢你了
2条答案
按热度按时间c6ubokkw1#
您可以在此Launcher练习的
onCreate
中执行此操作。因此,当用户看到启动画面时,您可以进行API调用并决定打开哪个Activity。字符串
而在
navigateToCorrectScreen
中你可以进行API调用并决定要打开的活动,比如,型
现在,如果您认为可能会出现闪屏消失但未收到API响应的情况,您可以通过多种方式进行管理。下面列出了一些方法。
1.您可以检查是否只有在API响应后才能删除闪屏
1.您可以显示进度或图标相同的飞溅到该活动,而你收到的回应,并决定去哪里。
cyvaqqii2#
我发现了自己的错误。我刚刚从代码中删除了
splash.setKeepOnScreenCondition { false }
,并添加了一个条件来检查用户是否已经登录,它是否正常工作。我们只需要在
installSplashScreen()
后面添加一个条件。更新后的代码如下所示字符串
我已经添加了如果条件,以检查用户是否登录或没有。