我试图创建一个闪屏使用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补丁预览中,它显示,如果拉伸,徽标将不会调整大小,看起来完全对齐。
然而,当我在这个组合中使用它时,闪屏在我的华为和三星上看起来是伸展的,但在像素2模拟器上却不是:华为Mate 10Pro和三星Galaxy s9+ (它们的伸展方式是一样的):

在模拟器上,它看起来像这样:

问题与系统导航无关。当我在模拟器中使用三键导航时,它在华为上看起来仍然很紧张。
我已经尝试过在ic_launch_screen.xml中使用<nine-patch>元素或gravity:center属性,但它看起来更加混乱。
发布于 2020-01-22 18:02:03
我不确定为什么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>现在它应该有很好的伸缩性。
https://stackoverflow.com/questions/59856537
复制相似问题