Flutter 安卓端启动页全屏+沉浸式状态栏

<activity

android:name=“.SplashActivity”

android:hardwareAccelerated=“true”

android:launchMode=“singleTop”

android:theme=“@style/LaunchTheme”

android:windowSoftInputMode=“adjustResize”>

<meta-data

android:name=“io.flutter.app.android.SplashScreenUntilFirstFrame”

android:value=“true” />

2、设置MainActivity页样式,防止导航到该页面黑屏:

<activity

android:name=“.MainActivity”

android:configChanges=“orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode”

android:hardwareAccelerated=“true”

android:launchMode=“singleTop”

android:theme=“@style/LaunchThemeMain”

android:windowSoftInputMode=“adjustResize”>

<meta-data

android:name=“io.flutter.app.android.SplashScreenUntilFirstFrame”

android:value=“true” />

3、样式:

适配安卓5.0以下样式放置在values文件夹下

适配安卓5.0-9.0的样式放置在values-v21文件夹下

适配安卓9.0以上的样式放置在values-v28文件夹下

values文件夹下styles.xml

<?xml version="1.0" encoding="utf-8"?>

values-v21文件夹styles.xml

<?xml version="1.0" encoding="utf-8"?>

values-v28文件夹下styles.xml

<?xml version="1.0" encoding="utf-8"?>
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Flutter应用程序中实现全屏启动,你可以按照以下步骤进行操作: 1. 在`AndroidManifest.xml`文件中,为你的启动Activity添加以下属性: ```xml android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" ``` 这将使启动Activity以全屏显示。 2. 在`launch_background.xml`文件中,使用以下代码来设置全屏启动: ```xml <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/splash_background" /> <!-- 添加你的启动图像或Logo --> <item> <bitmap android:gravity="center" android:src="@mipmap/ic_launcher" /> </item> </layer-list> ``` 这将设置一个全屏启动背景,并在中间显示你的启动图像或Logo。 3. 在`styles.xml`文件中,为你的应用程序添加以下样: ```xml <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> <item name="android:windowBackground">@drawable/launch_background</item> </style> ``` 这将确保应用程序在启动时使用你的全屏启动。 4. 在`MainActivity.kt`(或`MainActivity.java`)文件中,修改`onCreate()`方法,添加以下代码来设置透明状态栏和导航栏: ```kotlin import android.os.Build import android.os.Bundle import io.flutter.embedding.android.FlutterActivity class MainActivity : FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { window.setDecorFitsSystemWindows(false) } else { window.decorView.systemUiVisibility = ( View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY ) } } } ``` 这将使状态栏和导航栏透明,以实现全屏效果。 完成上述步骤后,你的Flutter应用程序的启动将会显示为全屏。记得替换代码中的相应资源或样文件,以适应你自己的项目需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值