Я создаю приложение для Android, которое имеет:
Заставка, на которой отображается логотип приложения
Что работает:
Экран отображается очень хорошо и переходит к FirstActivity по желанию, если я установил ImageView в макете для SplashScreenActivity.
Что не является:
Однако это неправильный подход, поскольку он вызывает задержку при запуске приложения, поскольку раздувается макет. Я использовал рекомендуемый подход следующим образом:
splash.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/black" />
<item
android:gravity="center">
<bitmap
android:src="@drawable/logo"
android:gravity="center"/>
</item>
</layer-list>
styles.xml
<style name="Splash" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash</item>
</style>
AndroidManifest.xml
<application
android:theme="@style/Splash">
Когда я попытался установить src для растрового изображения из папки mipmap, получилось крошечное изображение.
Поскольку у меня также был SVG-файл логотипа, я попытался использовать Vector Asset для
создать нарисованное, но растровое изображение src нуждается в изображении, и приложение упало.
Затем я попытался сгенерировать PNG из SVG, используя ImageMagick, InkScape
и другие инструменты с их рекомендованными параметрами для высококачественных изображений.
Но он по-прежнему не такой острый, как использование ImageView с векторным объектом Drawable в качестве его источника, и, наконец, я не могу придумать другого пути сейчас.
Итак, как мне добиться такого же качества изображения, как и у всех других приложений? Также есть ли способ заставить растровое изображение использовать сам SVG?