我正在尝试使用这篇教程来创建一个启动画面,通过添加额外的主题实现。
这是我在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-patch文件,外观如下:
在Android Studio中的9-patch预览中,如果拉伸,图标不会被缩放,看起来完美对齐。然而,当我将它与其他组件结合使用时,在华为和三星上,启动屏幕看起来被拉伸了,但在Pixel 2模拟器上看起来完美无缺:
华为Mate 10 Pro和三星Galaxy s9+(它们被以相同的方式拉伸): 在模拟器上,它看起来像这样: 问题不是由于系统导航。即使我在华为上使用与模拟器相同的三键导航,它仍然看起来被拉伸了。
我已经尝试过在
ic_launch_screen.xml
中使用<nine-patch>
元素或gravity:center
属性进行调整,但看起来更混乱了。