使用图层列表而不包装父屏幕

时间:2017-01-20 08:54:53

标签: android android-layout splash layer-list

我正在尝试重新创建一个符合Google标准的初始屏幕。我尝试为我的启动画面创建一个背景drawable,我将在主题中设置它。但我正在寻找一种方法使位图匹配父。

以下是我的可绘制代码: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>

以下是我将此drawable设置为活动背景的代码:

 <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>

1 个答案:

答案 0 :(得分:2)

您无法在位图中缩放图像。它不是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>