将drawable设置为android:windowBackground

时间:2016-05-29 15:07:37

标签: android android-xml splash-screen android-drawable android-theme

我试图制作一个在任何通货膨胀之前显示的启动画面,我这样做是通过在我的SplashActivities主题中设置一个drawable到android:windowBackground,如下所示:

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/background_splash</item>
    <item name="android:windowNoTitle">true</item>
</style>

drawable正在显示一个全屏位图(在陆地/港口文件夹中为横向和纵向都有一个)而不是一个较小的图像或图标,它看起来如下所示:

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

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

由于它是全屏图像,我希望它在没有拉伸的情况下填充屏幕,与使用adjustViewBounds的ImageView时的行为相同,并且scaleType设置为fitCenter。

所以要指定我不是在寻找布局或ImageView设置,而是一个可以应用于windowBackground的drawable。我强调这一点是因为我发现的大多数搜索结果都是在应用启动后实施的启动画面。

2 个答案:

答案 0 :(得分:0)

没有解决方案。
我也试过,找不到解决方案。 android:width和android:height会有所帮助,但这仅适用于API 23+

答案 1 :(得分:0)

试试:

<item
    android:gravity="center"
    android:drawable="@drawable/yelo_logo" />

而不是位图。

它适用于 8+,但不适用于 5.0