调色板

可在布局中引用的可重用颜色的集合。

属性

default - 对象, 可选。 可使用颜色引用来引用的十六进制颜色定义的集合。

highContrast - 对象, 可选。 可使用颜色引用来引用的十六进制颜色定义的集合。 启用高对比度模式时,替代 default 中的定义。

示例

{
  "$schema": "https://raw.githubusercontent.com/microsoft/xbox-game-streaming-tools/main/touch-adaptation-kit/schemas/layout/4.0/layout.json",
  "styles": {
    "colors": {
      "default": {
        "myColor1": "#ff0000ff",
        "myColor2": "#00ff00ff",
        "system_contentPrimary": "#0000ffff"
      },
      "highContrast": {
        "myColor1": "#00ff00ff",
        "system_contrastPrimary": "#0000ffaa"
      }
    }
  },
  "content": {
    "left": {
      "inner": [
        {
          "type": "directionalPad",
          "styles": {
            "idle": {
              "background": {
                "type": "color",
                "value": "colors/myColor1"
              }
            }
          }
        }
      ]
    },
    "right": {
      "inner": [
          {
              "type": "button",
              "action": "gamepadY"
          },
          {
              "type": "button",
              "action": "gamepadB"
          },
          {
              "type": "button",
              "action": "gamepadA",
              "styles": {
                "idle": {
                  "background": {
                    "type": "color",
                    "value": "colors/myColor2"
                  }
                }
              }
          },
          {
              "type": "button",
              "action": "gamepadX"
          }
      ]
    }
  }
}

上述已禁用高对比度模式的布局:

禁用了调色板和高对比度模式的触控布局

启用高对比度模式的布局:

启用了调色板和高对比度模式的触控布局

备注

上述示例包括替代系统颜色(例如 system_contentPrimarysystem_accentPrimary 等)的颜色定义,以及自定义颜色定义(myColor1myColor2)。 控件在样式设置时隐式采样系统颜色,这意味着任何替代都将影响所有控件的全局样式(除非控件在自定义 styles 块中具有自己的替代)。 必须使用颜色引用(例如 colors/myColor1)来显式引用自定义颜色。 此外,自定义颜色定义不能使用保留的 system_ 前缀,因为它是为系统颜色保留的。

颜色定义在 defaulthighContrast 对象中声明,并在禁用或启用高对比度模式时激活。 禁用高对比度模式时,将从 default 采样颜色。 启用时,首先从 highContrast 采样颜色,如果不存在定义,则回退到 default。 如果 default 中不存在系统颜色替代,则使用系统默认值,而自定义颜色必须default 中定义。 下表概述了上述颜色定义将如何根据是否启用了高对比度 (HC) 模式来进行解析:

颜色定义 已禁用高对比度模式 已启用高对比度模式
myColor1 #ff0000ff #00ff00ff
myColor2 #00ff00ff #00ff00ff
system_contentPrimary #0000ffff #0000ffff
system_contrastPrimary 系统默认值 #0000ffaa

系统颜色

下表汇总了触控适配工具包中的系统颜色列表、如何将其用于设置控件样式,及其在禁用/启用高对比度 (HC) 模式时的系统默认值。

系统颜色 说明 已禁用高对比度模式 已启用高对比度模式
system_contentPrimary 用于设置组件样式(如中划、图标色调和 dpad 渐变)的颜色。 #ffffffff #ffffffff
system_contentSecondary 用于设置背景和填充等组件样式的颜色。 #ffffff1a #ffffffff
system_contrastPrimary 用于设置对比度组件(如内部/外部笔划和人脸图像背景板)样式的颜色。 #00000000 #000000bf
system_contrastSecondary 用于设置触摸板笔划等对比度组件样式的颜色。 #00000000 #ffffffff
system_actionColorDefault 用于在 action 字段设置为非游戏板操作的控件上设置组件样式的颜色。 #ffffffff #ffffffe6
system_actionColorA 用于在 action 字段设置为 gamepadA 的控件上设置组件样式的颜色。 #7eb902ff #ffffffe6
system_actionColorB 用于在 action 字段设置为 gamepadB 的控件上设置组件样式的颜色。 #f25127ff #ffffffe6
system_actionColorX 用于在 action 字段设置为 gamepadX 的控件上设置组件样式的颜色。 #00a2eeff #ffffffe6
system_actionColorY 用于在 action 字段设置为 gamepadY 的控件上设置组件样式的颜色。 #ffb807ff #ffffffe6
system_accentPrimary 用于设置组件(如 ergo 编辑内部滚轮)样式的颜色。 #8cc08cff #8cc08cff
system_accentSecondary 用于设置组件(如 ergo 编辑外部滚轮)样式的颜色。 #61ab61ff #61ab61ff

有关最新列表,请参阅最新架构中以_SystemColor为前缀的定义。

另请参阅

触控适配工具包参考
触控适配布局的高对比度模式