Я пытаюсь создать экран spla sh, используя , это руководство , используя дополнительную тему. Это моя тема запуска в 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 патчей и выглядит как это:
В предварительном просмотре с 9 патчами в Android Studio показано, что при растяжении логотипы не будут изменяться в размере и будут выглядеть идеально
Тем не менее, когда я использую его в этой комбинации, экран spla sh выглядит растянутым на моих Huawei и Samsung, но не на эмуляторе pixel 2: Huawei Mate 10 Pro и Samsung Galaxy s9 + (они растягивается так же):
На эмуляторе это выглядит идеально так:
Проблема не из-за системной навигации. Это все еще выглядит растянуто на Huawei, когда я использую три клавиши навигации, как в эмуляторе.
Я уже пробовал играть в ic_launch_screen.xml
с использованием <nine-patch>
элементов или атрибута gravity:center
, но это выглядит тогда еще больше запутано.