Android初始屏幕在全屏上拉伸徽标

Yur*_*r D 2 android android-layout react-native

我有一个带有白色背景的简单启动画面,屏幕中央有徽标。在现代版本的Android中,它运行良好,但是在“旧”版本的Android(例如API 22)中,徽标会在全屏上显示。如何使徽标启动屏幕在所有版本的Android(API 19之前)上看起来正常?ps我不是Android开发人员。

drawable / background_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

  <item android:drawable="@color/white" />

  <item
    android:width="150dp"
    android:height="50dp"
    android:drawable="@mipmap/my_logo"
    android:gravity="center" />

</layer-list>
Run Code Online (Sandbox Code Playgroud)

values / styles.xml

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:statusBarColor">@color/white</item>
    </style>

    <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@drawable/background_splash</item>
        <item name="android:statusBarColor">@color/white</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

Ben*_* P. 7

而不是使用简单的<item/>标签,请在中使用<bitmap/>标签<item>

图层列表可绘制文档中

默认情况下,所有可绘制项目都按比例缩放以适合包含的View的大小。[...]为避免缩放列表中的项目,请使用<bitmap>元素内的<item>元素来指​​定可绘制对象,并将重力定义为不缩放的对象,例如"center"

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/white" />

    <item>
        <bitmap
            android:src="@mipmap/my_logo"
            android:gravity="center"/>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)