2

私は基本的に Androidスプラッシュ スクリーンに次の xml を使用していますwindowBackground:

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

background_splash.xml:

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

logo.pngが画面サイズよりも小さい限り、これは正常に機能します。が画面よりも大きい場合logo.pngは、画面をはみ出します。

3 つの回避策がありますが、すべてに欠点があります。

  1. leftで/rightを設定し<itemますが、これには API 23+ が必要です
  2. などは異なりますが、密度分割を使用しているため、他のデバイス (apk サイト、「新しいデバイスに移動」 -apk@drawable/logoを転送するアプリなど) の apk を再利用すると壊れてしまいます。xhdpixxhdpi
  3. でレイアウトを使用しますImageViewが、これには顕著な遅延があります

正しく/欠点なしで行う方法は?

4

1 に答える 1