Scheme

Sparkling 页面/容器通过 hybrid://... URL 打开。本文档定义了 Android 和 iOS 双端通用的统一 Scheme 格式与参数。

Host(容器类型)

Sparkling 支持多种 hybrid:// host:

  • hybrid://lynxview_page:Lynx 页面容器推荐
  • hybrid://lynxviewlynxview_page 的历史别名(仍可用)
  • hybrid://lynxview_card:Lynx 卡片容器(目前主要用于 Android)
  • hybrid://webview:WebView 容器

如无特别说明,下文示例均使用 lynxview_page

格式

Bundle 风格(推荐)

hybrid://lynxview_page?bundle=<bundlePath>[&title=<title>][&hide_nav_bar=1][&title_color=<color>][&container_bg_color=<color>][&force_theme_style=light|dark]
  • hybrid://lynxview_page:Sparkling Lynx 页面容器的 host 类型(推荐)。
  • bundle:指向你在 App 内打包的 .lynx.bundle 文件。

编码规则

  • 始终对参数值进行 URL 编码
  • 如果传入十六进制颜色,# 必须编码为 %23(否则会被当作 URL fragment)。
  • 建议使用查询构建器(URLSearchParamsUri.Builder 等)来构造 Scheme,而非手动拼接字符串。

带编码颜色的示例:

hybrid://lynxview_page?bundle=main.lynx.bundle&title=Home&title_color=%23000000&container_bg_color=%23ffffff

参数(跨平台)

以下参数在 Android 和 iOS 双端均保证生效。

参数类型默认值含义
bundlestring(必填)-要加载的 Lynx bundle 路径/名称(必须存在于 App 资源中)。
titlestring平台默认值容器标题(通常显示在导航栏中)。
hide_nav_bar0/10设为 1 时隐藏导航栏。
title_color#RRGGBB(编码后)平台默认值标题文字颜色。仅使用 6 位 RGB;参见"颜色格式"。
container_bg_color#RRGGBB(编码后)平台默认值容器背景颜色。仅使用 6 位 RGB;参见"颜色格式"。
force_theme_stylelight | dark系统默认强制容器级别的明/暗主题及主题相关属性。
nav_bar_color#RRGGBB(编码后)平台默认值导航栏背景颜色。仅使用 6 位 RGB。
hide_status_bar0/10设为 1 时隐藏状态栏。
trans_status_bar0/10设为 1 时使用透明状态栏。
hide_loading0/10设为 1 时隐藏加载视图。
loading_bg_color#RRGGBB(编码后)平台默认值加载视图背景颜色。仅使用 6 位 RGB。
hide_error0/10设为 1 时隐藏错误视图。

颜色格式(跨平台)

使用 6 位 RGB 十六进制颜色:#RRGGBB(在 URL 中将 # 编码为 %23)。

不要在 Scheme 中使用 8 位十六进制颜色表示透明度(Android 和 iOS 对 8 位十六进制的解析方式不同)。

示例

最简形式:

hybrid://lynxview_page?bundle=main.lynx.bundle

带标题:

hybrid://lynxview_page?bundle=main.lynx.bundle&title=Home

隐藏导航栏:

hybrid://lynxview_page?bundle=main.lynx.bundle&hide_nav_bar=1

强制暗色主题:

hybrid://lynxview_page?bundle=main.lynx.bundle&force_theme_style=dark