我在 Android Studio 中创建了一个启动画面,它在我的 React Native 应用程序加载之前出现。 This is the guide I followed .
实际的启动画面工作正常,但问题是当应用程序加载并从启动画面切换到实际的 React Native 应用程序时,两个屏幕之间几乎没有过渡(冷启动时)。它们的变化非常迅速和突然。
有没有其他人遇到过这个问题,有没有办法解决这个问题?
最佳答案
这实际上是显示闪屏的正确方式(最佳实践)。无需让用户不必要地等待。但是,如果你想显示启动画面几秒钟,
方法一
您可以创建一个新的 Activity 并在那里设置超时,然后开始您的主要 Activity。可以关注this post .但这也不会在启动画面上等待。要让它等待,请在启动 MainActivity 之前在启动 Activity 中添加超时(来 self 链接的帖子),如下所示:
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new Handler().postDelayed(new Runnable() {
public void run() {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
}, 1000);
}
}
这里的 1000 是以毫秒为单位的时间。
当您在 Android 模拟器中运行它时,您可能会遇到 this issue .可以看到this回答解决方案。
方法二
您可以创建一个全屏模态并将其显示在主屏幕上,直到主屏幕的内容加载完毕。我觉得这个解决方案更好,因为这会导致用户等待有意义的事情发生。但是,如果内容加载需要时间,那么最好显示一些有意义的内容(不是启动画面,而是来自应用程序的内容),然后在后台加载内容,然后更新屏幕。
关于android - 响应 native 负载后,Android Studio 的主要 Activity 之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44631766/