Android 启动画面拉长
Android Splash Screen stretched
我正在尝试使用 this tutorial 通过使用附加主题来创建启动画面。
这是我在 styles.xml
:
中的启动器主题
<style name="AppTheme.Launcher" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:windowBackground">@drawable/ic_launch_screen</item>
<item name="colorPrimaryDark">@color/color_white</item>
</style>
这是 ic_launch_screen.xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/color_white" />
<item>
<bitmap android:src="@drawable/ic_splash_screen" />
</item>
</layer-list>
ic_splash_screen
文件已经是一个包含 9 个补丁的文件,如下所示:
在 Android Studio 的 9 补丁预览中显示,如果拉伸,徽标将不会调整大小并且看起来完美对齐。
然而,当我在这个组合中使用它时,启动画面在我的华为和三星上看起来被拉长了,但在 pixel 2 模拟器上却没有:
Huawei Mate 10 Pro & Samsung Galaxy s9+(拉伸方式相同):
在模拟器上看起来很完美:
不是系统导航的问题。像在模拟器中一样使用三键导航,在华为上还是显得有些牵强。
我已经尝试使用 <nine-patch>
元素或 gravity:center
属性在 ic_launch_screen.xml
中玩弄,但它看起来更乱了。
我不确定为什么 9 补丁没有缩放,但我可以提出一个解决方法。您可以创建 2 个可绘制对象,第一个带有文本 pass13,另一个带有徽标。现在您可以创建以下图层列表:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/color_white" />
<item>
<bitmap
android:gravity="center"
android:src="@drawable/drawable1" />
</item>
<item>
<bitmap
android:gravity="center|bottom"
android:src="@drawable/drawable2" />
</item>
</layer-list>
现在应该可以很好地扩展了。
我正在尝试使用 this tutorial 通过使用附加主题来创建启动画面。
这是我在 styles.xml
:
<style name="AppTheme.Launcher" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:windowBackground">@drawable/ic_launch_screen</item>
<item name="colorPrimaryDark">@color/color_white</item>
</style>
这是 ic_launch_screen.xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/color_white" />
<item>
<bitmap android:src="@drawable/ic_splash_screen" />
</item>
</layer-list>
ic_splash_screen
文件已经是一个包含 9 个补丁的文件,如下所示:
在 Android Studio 的 9 补丁预览中显示,如果拉伸,徽标将不会调整大小并且看起来完美对齐。
然而,当我在这个组合中使用它时,启动画面在我的华为和三星上看起来被拉长了,但在 pixel 2 模拟器上却没有: Huawei Mate 10 Pro & Samsung Galaxy s9+(拉伸方式相同):
在模拟器上看起来很完美:
不是系统导航的问题。像在模拟器中一样使用三键导航,在华为上还是显得有些牵强。
我已经尝试使用 <nine-patch>
元素或 gravity:center
属性在 ic_launch_screen.xml
中玩弄,但它看起来更乱了。
我不确定为什么 9 补丁没有缩放,但我可以提出一个解决方法。您可以创建 2 个可绘制对象,第一个带有文本 pass13,另一个带有徽标。现在您可以创建以下图层列表:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/color_white" />
<item>
<bitmap
android:gravity="center"
android:src="@drawable/drawable1" />
</item>
<item>
<bitmap
android:gravity="center|bottom"
android:src="@drawable/drawable2" />
</item>
</layer-list>
现在应该可以很好地扩展了。