我很清楚如何使用 list 中的主题和标签 windowBackground 在 Android 中设置 Activity 的 splash。
一位客户最近出现要求“根据白天的某些事件更改启动画面”。 我几乎可以肯定这是不可能完成的,但我决定用这段代码试一试:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
int random = (int) Math.abs(System.currentTimeMillis() % 3);
switch (random) {
case 0:
setTheme(R.style.FullscreenTheme1);
break;
case 1:
setTheme(R.style.FullscreenTheme2);
break;
default:
setTheme(R.style.FullscreenTheme3);
break;
}
}
}
显然这是行不通的。
有人已经尝试过同谋或有更好的主意?
谢谢
编辑:
创建一个假的 Activity 或 fragment 以显示为启动画面会很容易,但会在应用程序启动时留下令人不快的白色(或黑色,具体取决于主题)闪烁。
这个问题是关于以编程方式更改启动画面的可行性,其结果与在 list 中对其进行硬编码的结果相同。
最佳答案
如果您删除 Splash 并通过创建一个全屏显示您想要的图像 n 秒的 Activity 来模拟它,会怎样?
关于Android 在应用程序启动时以编程方式更改 windowBackground,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862185/