如何禁用Android默认启动页或让应用图标适配全屏?
启动页自定义/图标全屏适配解决方案
一、Android 平台处理方案
1. 禁用默认启动页并自定义
- 在
res/drawable目录创建splash_screen.xml布局文件,自定义启动页的背景、图标元素:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/your_bg_color" android:gravity="center"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:src="@drawable/your_fullscreen_icon" /> </LinearLayout>
- 在
AndroidManifest.xml中给启动Activity绑定这个启动页主题:
<activity android:name=".MainActivity" android:theme="@style/SplashTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- 在
res/values/styles.xml定义SplashTheme:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowBackground">@drawable/splash_screen</item> <item name="android:windowFullscreen">true</item> </style>
- 最后在MainActivity的
onCreate方法切换回正常应用主题:
@Override protected void onCreate(Bundle savedInstanceState) { setTheme(R.style.AppTheme); // 替换为你的常规应用主题 super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
2. 仅让默认图标适配全屏
不想完全自定义的话,直接修改启动页主题的背景为全屏图标即可:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowBackground">@drawable/full_size_icon</item> <item name="android:windowFullscreen">true</item> </style>
注意要准备适配不同分辨率的图标资源,避免拉伸变形。
二、iOS 平台处理方案
1. 禁用默认启动页并自定义
- 打开Xcode,进入项目
Targets→General→App Icons and Launch Images,勾选Use Asset Catalog并点击Migrate,将启动图迁移到资源目录。 - 在资源目录中添加对应iPhone、iPad全分辨率的启动图,系统会自动替换默认启动页。
- 也可以用
LaunchScreen.storyboard:打开文件后添加ImageView,设置全屏约束,选择目标图片并将Content Mode设为Scale To Fill。
2. 仅让默认图标适配全屏
- 打开
LaunchScreen.storyboard,找到默认的App Icon Image View,设置上下左右边距为0,将Content Mode改为Scale To Fill,图标即可铺满启动页。
三、跨平台框架补充
Flutter
- 在
pubspec.yaml声明启动页资源:
flutter: assets: - assets/full_splash.png
- 修改
android/app/src/main/res/drawable/launch_background.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="fill" android:src="@drawable/full_splash" /> </item> </layer-list>
- iOS端同样修改
LaunchScreen.storyboard添加全屏ImageView。
React Native
- 安装
splash-screen库:
npm install react-native-splash-screen --save
- 按照库文档配置安卓、iOS的启动页布局,设置图标全屏显示,再通过代码控制启动页隐藏时机。
内容的提问来源于stack exchange,提问作者kamal douma
相关产品推荐
相关产品推荐

