【发布时间】:2018-12-10 14:02:32
【问题描述】:
我正在构建一个具有 :
的 Android 应用程序启动画面,显示应用程序的标志
什么是有效的:
如果我在 SplashScreenActivity 的布局中设置 ImageView,屏幕显示得非常好,并且会根据需要转到 FirstActivity。
什么不是:
但是,这不是正确的方法,因为它会在应用程序启动时产生延迟,因为布局正在膨胀。我使用了以下推荐的方法:
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">
当我尝试从 mipmap 文件夹设置位图 src 时,它产生了一个小图像。
因为我也有徽标的 SVG 文件,所以我尝试使用 Vector Asset 生成可绘制但位图 src 需要图像并且应用程序崩溃了。
然后我尝试使用 ImageMagick 和 InkScape 从 SVG 生成 PNG 和其他工具及其推荐的高质量图像选项。
但它仍然不如使用带有 Vector Drawable 作为其源的 ImageView 那样清晰,最后我现在想不出任何其他方式。
那么,我怎样才能获得与所有其他应用程序一样的图像质量?还有什么方法可以让位图使用 SVG 本身?
【问题讨论】:
-
尝试使用不同分辨率的 GIMP 生成 PNG --> 我正在使用的是:830x830 (xxhdpi) 553x553 (xhdpi) 415x415 (hdpi)
标签: android android-layout svg icons imagemagick