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
中删除了所有使用 viewTreeObserver
和 Build.VERSION.SDK_INT
检查生成的代码,并仅保留 super
方法之后的行:
class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
}
}
现在它按预期工作,不再向上移动。
这里是 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
中删除了所有使用 viewTreeObserver
和 Build.VERSION.SDK_INT
检查生成的代码,并仅保留 super
方法之后的行:
class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this)
}
}
现在它按预期工作,不再向上移动。