Flutter android splash 在高度较大的设备中向上移动

Flutter android splash shifts upward in devices with larger height

这里是 launch_background.xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/splash_color" />
    <item
        android:width="160dp"
        android:height="58dp"
        android:drawable="@drawable/hal_logo"
        android:gravity="center" />

</layer-list>

在高度较大的屏幕上显示时,屏幕会向上移动一点。我也尝试使用 bitmap。存在同样的问题。

我用位图标签来做,在更大的屏幕上没有问题。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/white" />
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/colored_logo" />
    </item>
</layer-list>

也许您对徽标的大小有疑问,我的是 800x400 像素

MainActivity.kt 中删除了所有使用 viewTreeObserverBuild.VERSION.SDK_INT 检查生成的代码,并仅保留 super 方法之后的行:

class MainActivity : FlutterActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        GeneratedPluginRegistrant.registerWith(this)
    }
}

现在它按预期工作,不再向上移动。