flutter 为什么应用程序启动画面上没有图片

6ioyuze2  于 2023-06-07  发布在  Flutter
关注(0)|答案(1)|浏览(281)

我想添加一个图片到下载屏幕的android版本12及以上,颜色设置,但由于某种原因图片是不可见的,一切都是罚款的版本低于12

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
        <item name="android:windowSplashScreenBackground">#000000</item>
        <item name="android:windowSplashScreenAnimatedIcon">
            @drawable/splash
        </item>
    </style>
</resources>

包含以values-v31样式命名的styles.xml文件的文件夹

cgfeq70w

cgfeq70w1#

从Android 12开始,闪屏行为发生了变化,不再支持直接显示动画图标或可绘制内容。相反,您可以通过使用android:windowSplashScreenBackground属性提供背景颜色来自定义启动画面。
要在Android 12及更高版本的启动画面上显示图像,您需要使用不同的方法。您可以为启动画面创建单独的布局文件,并将其设置为启动画面活动的窗口内容视图。
下面是一个如何实现此目标的示例:
1.为初始屏幕创建新的布局文件。我们将其命名为activity_splash.xml。将此文件放在应用的res/layout目录中。
1.在activity_splash. xml中,定义启动屏幕的布局并添加ImageView以显示图像。例如:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/splash"
        android:scaleType="centerCrop" />

</RelativeLayout>

1.在styles.xml文件中,定义闪屏活动的主题。例如:

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

1.在AndroidManifest.xml中,为启动画面Activity指定SplashTheme:

<activity
    android:name=".SplashActivity"
    android:theme="@style/SplashTheme"
    android:screenOrientation="portrait"
    android:configChanges="keyboardHidden|orientation|screenSize">

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

1.创建扩展AppCompatActivity的新SplashActivity类。在onCreate方法中,将activity_splash布局设置为内容视图:

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        // Add any additional logic here
    }
}

如果需要,请记住用正确的资源ID替换R.layout.activity_splash。
使用此设置,当应用启动时,SplashActivity将显示在activity_splash.xml的ImageView中设置的图像。您可以自定义布局,并根据需要添加任何其他逻辑或转换

相关问题