使用图层列表不包裹父屏幕的背景可绘制

background drawable for using layer-list not wrapping the parent screen

我正在尝试重新创建启动画面以符合 Google 标准。我尝试为我的启动画面创建一个可绘制的背景,我将在主题本身中设置它。但我正在寻找一种使位图与父级匹配的方法。

下面是我的可绘制代码:splash_screen_bg.xml

 <?xml version="1.0" encoding="utf-8"?> 
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
 <item android:gravity="center">
 <bitmap android:src="@drawable/logo_show" android:gravity="center" />
 </item>
 </layer-list>

这是我将此可绘制对象设置为 activity:

背景的代码
 <style name="SpTheme" parent="SearchActivityTheme.NoActionBar"> 
 <item name="colorPrimaryDark">@color/colorAccentXDark</item>
 <item name="android:alertDialogTheme">@style/AlertDialogTheme</item> 
 <item name="android:windowBackground">@drawable/splash_screen_bg</item>
 </style>

您不能在位图中缩放图像。它不是 ImageView,所以它没有 scaleType 属性。您的图像将根据您放置的文件夹进行缩放 (drawable-xdpi,drawable-nodpi,...)。您可以根据需要设置背景填充颜色。

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

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

<item android:gravity="center">
    <bitmap android:src="@drawable/logo_show" android:gravity="center" />
</item>
</layer-list>