Flutter启动图在其他设备显示过小,新手求助解决方法
解决Flutter启动图在其他设备显示过小的问题
Android端处理步骤
准备多分辨率适配图
根据Android不同密度屏幕,导出对应尺寸的PNG格式启动图,建议尺寸:- mdpi: 480×800
- hdpi: 720×1280
- xhdpi: 960×1600
- xxhdpi: 1440×2560
- xxxhdpi: 1920×3200
图片要预留足够留白,避免核心内容被裁切。
替换资源目录图片
打开项目中android/app/src/main/res路径,找到各个mipmap开头的目录,将对应尺寸的启动图替换进去,保持文件名统一(比如splash.png)。配置启动主题(Android 12以下)
- 打开
android/app/src/main/res/values/styles.xml,确保启动主题引用自定义启动图背景:<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> <item name="android:windowBackground">@drawable/splash_screen</item> </style> - 在
drawable目录下创建splash_screen.xml,写入以下内容(替换背景色和图片引用):<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/white" /> <!-- 填写和启动图一致的背景色 --> <item> <bitmap android:gravity="center" android:src="@mipmap/splash" /> <!-- 引用你的启动图文件名 --> </item> </layer-list>
- 打开
Android 12+适配
打开android/app/src/main/res/values-v31/styles.xml,添加启动图配置:<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> <item name="android:windowSplashScreenContent">@drawable/splash_screen</item> </style>
iOS端处理步骤
准备多尺寸启动图
根据iOS设备不同分辨率,导出对应尺寸的PNG图,建议尺寸:- iPhone 8及以下:640×1136(@2x)、750×1334(@2x)、1242×2208(@3x)
- iPhone X及以上:1125×2436(@3x)、1242×2688(@3x)、1792×828(@2x)
- iPad系列:1536×2048(@2x)、2048×2732(@2x)
通过Assets添加启动图
用Xcode打开项目中的ios/Runner.xcworkspace,找到Assets.xcassets,右键选择New Image Set并命名为LaunchImage,将对应尺寸的图片拖到匹配的槽位(1x、2x、3x及设备变体)。配置启动图设置
在Xcode的Runner项目General标签下,找到App Icons and Launch Images区域,将Launch Screen File留空,或者选择LaunchScreen.storyboard(如果用storyboard,需添加Image View并设置居中约束,调整缩放模式为Aspect Fit/Scale to Fill)。
通用注意事项
- 启动图尽量简洁,避免添加易被裁切的文字或细节内容。
- 确保图片格式为PNG,避免JPG压缩导致失真。
- 修改完成后执行
flutter clean清理缓存,再重新运行项目。 - 用不同分辨率的模拟器或真机测试,验证适配效果。
内容的提问来源于stack exchange,提问作者jina
相关产品推荐
相关产品推荐

