这可能是由于Splash Screen中使用了窗口旗帜来设置NavigationBar颜色的问题。在设置标志之前添加以下代码以解决此问题:
Kotlin示例代码:
class MainActivity : AppCompatActivity() {
private var isInMultiWindowMode = false //定义一个变量,用于检查多窗口模式
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
//检查是否在多窗口模式下
isInMultiWindowMode = isInMultiWindowMode
if (isInMultiWindowMode) {
//在这里添加跳窗口颜色的代码,例如:“window.navigationBarColor = Color.BLUE”
}
}
override fun onMultiWindowModeChanged(isInMultiWindowMode: Boolean, configChanges: Configuration?) {
super.onMultiWindowModeChanged(isInMultiWindowMode, configChanges)
// 更新多窗口模式变量
this.isInMultiWindowMode = isInMultiWindowMode
// 当多窗口模式变化时,更新NavigationBar颜色
if (isInMultiWindowMode) {
//在这里添加跳窗口颜色的代码,例如:“window.navigationBarColor = Color.BLUE”
} else {
//如果不在多窗口模式下,将NavigationBar颜色重置为默认值
//在这里添加默认颜色代码,例如:“window.navigationBarColor = ResourcesCompat.getColor(resources, R.color.colorPrimaryDark, null)”
}
}
}
Java示例代码:
public class MainActivity extends AppCompatActivity {
private boolean isInMultiWindowMode = false; //定义一个变量,用于检查多窗口模式
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
//检查是否在多窗口模式下
isInMultiWindowMode = isInMultiWindowMode();
if (isInMultiWindowMode) {
//在这里添加跳窗口颜色的代码,例如:“getWindow().setNavigationBarColor(Color.BLUE)”
}
}
@Override
public void onMultiWindowModeChanged(boolean isInMultiWindowMode, Configuration newConfig) {
super.onMultiWindowModeChanged(isInMultiWindowMode, newConfig);
// 更新多窗口模式变量
this.isInMultiWindowMode = isInMultiWindowMode;
// 当多窗口模式变化时,更新NavigationBar颜色
if (isInMulti