可在布局中引用的可重用颜色的集合。
属性
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_contentPrimary
、system_accentPrimary
等)的颜色定义,以及自定义颜色定义(myColor1
、myColor2
)。 控件在样式设置时隐式采样系统颜色,这意味着任何替代都将影响所有控件的全局样式(除非控件在自定义 styles
块中具有自己的替代)。 必须使用颜色引用(例如 colors/myColor1
)来显式引用自定义颜色。 此外,自定义颜色定义不能使用保留的 system_
前缀,因为它是为系统颜色保留的。
颜色定义在 default
和 highContrast
对象中声明,并在禁用或启用高对比度模式时激活。 禁用高对比度模式时,将从 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
为前缀的定义。