Я работаю над заставкой для Android сборки приложения с реагировать родной.Заставка состоит из сплошного цветного фона и логотипа в формате PNG.Splashscreen работает нормально на новых версиях Android, но на Android 5 (API-версия 22) логотип отображается дважды, один раз правильно и один раз искажен (растянут на весь экран).Смотрите скриншот в конце.
Splashscreen настроен с пакетом npm react-native-splash-screen
, и его исходный код выглядит следующим образом:
res / layout / launch_screen.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splashscreen"
android:orientation="vertical">
</LinearLayout>
и drawable / splashscreen выглядит следующим образом:
res / drawable / splashscreen.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/purple"/>
<item
android:width="257dp"
android:height="33dp"
android:drawable="@mipmap/logo"
android:gravity="center" />
</layer-list>
Я испробовал почти все различные комбинацииandroid:gravity
, android:scaleType
и android:tileMode
безуспешно.Даже когда я перемещал логотип к тегу <bitmap>
в элементе, он все еще оставался прежним.Я обнаружил, что когда я изменяю гравитационную стойку на другое значение, искаженный логотип перемещается соответственно.Но я не могу избавиться от этого.Также я не понимаю, почему логотип виден дважды, если он определен только один раз.
Любая помощь приветствуется.Спасибо.