You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo 53.0.9版本启动屏自定义问题咨询

Expo 53.0.9版本启动屏自定义问题咨询

嗨,我刚好研究过Expo 53的启动屏配置,其实核心逻辑和之前差不多,只是因为项目换成了app目录的路由结构、没有了传统的App.tsx,所以配置入口变了,我给你梳理下具体操作步骤:

一、静态启动屏配置(基础自定义)

如果只是想替换启动屏的图片、背景色,直接在项目根目录的app.json或app.config.ts里修改expo.splash字段即可,不需要写额外代码:

{
  "expo": {
    "splash": {
      "image": "./assets/splash.png", // 你的启动屏图片路径,建议用3000x3000的透明PNG
      "resizeMode": "contain", // 图片缩放模式,可选contain/cover/none
      "backgroundColor": "#212121", // 启动屏背景色
      "dark": { // 暗黑模式下的可选配置
        "image": "./assets/splash-dark.png",
        "backgroundColor": "#121212"
      }
    }
  }
}

修改后重启Expo开发服务就能看到效果啦。

二、动态控制启动屏(等待初始化完成再隐藏)

如果需要等应用加载完字体、数据等资源后再隐藏启动屏,就得在根布局组件里处理——也就是app/_layout.tsx,这是现在Expo项目的根入口组件:

  1. 首先确保依赖安装完整(默认项目已包含,保险起见可以再执行一次):
npx expo install expo-splash-screen
  1. 在app/_layout.tsx里编写控制逻辑:
import { useEffect, useState } from 'react';
import { SplashScreen } from 'expo-splash-screen';
import { Stack } from 'expo-router';

// 先阻止启动屏自动隐藏,这行要放在组件定义之外
SplashScreen.preventAutoHideAsync();

export default function RootLayout() {
  const [appIsReady, setAppIsReady] = useState(false);

  useEffect(() => {
    async function prepareApp() {
      try {
        // 这里放你的应用初始化逻辑,比如加载自定义字体、请求初始数据
        // 示例:await Font.loadAsync({ Roboto: require('../assets/fonts/Roboto.ttf') });
      } catch (error) {
        console.warn('初始化过程出现问题:', error);
      } finally {
        // 初始化完成后,手动隐藏启动屏
        await SplashScreen.hideAsync();
        setAppIsReady(true);
      }
    }

    prepareApp();
  }, []);

  // 准备完成前不渲染任何内容,启动屏会保持显示
  if (!appIsReady) {
    return null;
  }

  return (
    <Stack>
      <Stack.Screen name="index" options={{ headerShown: false }} />
      {/* 这里添加你的其他路由页面 */}
    </Stack>
  );
}

注意事项

  • 启动屏图片要符合Expo的尺寸建议,避免在不同设备上拉伸变形;
  • 如果修改了app.json里的配置,记得重启Expo开发服务,不然可能不生效;
  • 如果是Web端项目,还可以在app/_+html.tsx里调整Web端的启动屏样式,但移动端的核心配置还是上面的步骤。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:23:02