鸿蒙Next开发中如何自定义启动图

在鸿蒙Next开发中,如何自定义应用的启动图?需要修改哪些配置文件或代码?是否有具体的步骤或示例可以参考?启动图的尺寸和格式要求是什么?

2 回复

鸿蒙Next自定义启动图?简单!在resources/base/media里放张图,命名splash_screen_image.png就行。想玩花的?在config.json里配个splashScreen,还能调背景色和图标位置。记住:别让用户等到花都谢了,启动图越快消失越好!

更多关于鸿蒙Next开发中如何自定义启动图的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next(HarmonyOS NEXT)中,自定义应用启动图可以通过配置EntryAbilitiessrc/main/resources/base/profile/main_pages.json文件实现。以下是具体步骤:

  1. 准备启动图资源
    将自定义启动图(如 PNG 格式)放入 src/main/resources/base/media/ 目录下,例如命名为 splash.png

  2. 配置启动图参数
    src/main/resources/base/profile/main_pages.json 中,为对应的 EntryAbility 添加 splashScreen 字段:

    {
      "src": [
        "pages/Index"
      ],
      "window": {
        "designWidth": 720,
        "autoDesignWidth": false
      },
      "ability": {
        "splashScreen": {
          "backgroundImage": "$media:splash",
          "backgroundOpacity": 1.0,
          "icon": "$media:splash",
          "iconSize": "200vp"
        }
      }
    }
    
    • backgroundImage:指定启动图资源路径($media: 为资源前缀)。
    • iconiconSize:可选,用于配置图标及尺寸。
  3. 调整显示时长
    启动图默认显示 3 秒,可通过在 Ability 的 onCreate 方法中调用 setSplashScreen 动态修改:

    import { AbilityConstant, UIAbility, Want } from '[@kit](/user/kit).AbilityKit';
    
    export default class EntryAbility extends UIAbility {
      onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
        // 设置启动图显示时长(单位:毫秒)
        this.context.setSplashScreen(5000); // 延长至 5 秒
      }
    }
    
  4. 注意事项

    • 图片尺寸建议与屏幕分辨率匹配,避免拉伸。
    • 若需完全隐藏启动图,可设置 backgroundOpacity 为 0 或移除配置。

通过以上步骤即可灵活定制启动图样式与显示逻辑。

回到顶部