Skip to content

Project XML 属性协议

结论

本文档整理 packages/core/src/io/project-xml-protocol.ts 当前正式声明的 XML 属性协议,只描述:

范围说明
节点当前已正式纳入协议的 package.xmlcomponent.xml 相关节点
属性当前协议层 attrs 中声明的 canonical 属性名与 alias
口径只写当前正式实现,不记录历史兼容、内部承载方式或未来规划

本文档不覆盖:

不在本文档范围内说明
children 协议relationgear*item、扩展子节点等结构,见架构与测试口径
containers 协议displayList 容器变体,见 Project XML DisplayList Tag 对齐
reader / writer 实现细节只描述协议本身,不描述内部消费路径

说明约定

含义
属性名当前正式 canonical XML 属性名
Alias当前协议允许读入的别名;空表示无别名
说明仅描述节点语义范围,不描述内部模型

package.xml

packageDescription

属性名Alias说明
id包根标识
hasFavorites包内是否存在收藏资源
compressPNG包级图片压缩开关
jpegQuality包级 JPEG 质量

package_branch.xml > branchDescription

属性名Alias说明
无属性分支资源清单根节点

packageDescription > publish

属性名Alias说明
name包级发布名
path包级发布路径
branchPath分支发布路径
packageCount发布分包数量

通用资源节点

适用于 package.xmlpackage_branch.xmlresources 下通用资源基础属性。

属性名Alias说明
id资源标识
name资源名
path资源路径
exported是否参与导出
favorite是否加入资源收藏

resources > image

属性名Alias说明
atlas图片纹理集模式
scale缩放模式
scale9grid九宫格设置
width资源宽度
height资源高度
gridTile平铺网格设置
qualityOption图片质量选项
quality自定义图片质量;qualityOption="custom" 时写回
duplicatePadding是否复制边缘像素
smoothing是否允许平滑

resources > movieclip

属性名Alias说明
atlas动画资源纹理集模式

resources > font

属性名Alias说明
texture字体贴图资源
renderMode字体渲染模式
samplePointSize字体采样点大小

resources > misc

属性名Alias说明
无附加属性仅使用通用资源属性;资源文件名由通用 name 承载

resources > spine

属性名Alias说明
widthskeleton 资源宽度
heightskeleton 资源高度
require依赖资源 id 列表,逗号分隔
atlasNamesatlas 名列表,逗号分隔
anchorskeleton 锚点,格式为 x,y

resources > dragonbones

属性名Alias说明
widthskeleton 资源宽度
heightskeleton 资源高度
require依赖资源 id 列表,逗号分隔
atlasNamesatlas 名列表,逗号分隔
anchorskeleton 锚点,格式为 x,y

component.xml

当前工程写回口径:

项目说明
显示对象 xydisplayList 中支持 xy 的对象节点当前显式写出位置;默认原点写为 xy="0,0"

根节点 <component>

属性名Alias说明
size根组件尺寸
pivot根组件 pivot
anchor根组件 anchor
margin根组件 margin
restrictSize根组件尺寸限制
overflow根组件 overflow 模式
clipSoftness裁剪软边
opaque是否不透明
mask遮罩目标
reversedMask反向遮罩
hitTest命中测试资源
customData自定义数据
scroll滚动模式
scrollBar滚动条显示方式
scrollBarFlags滚动条相关标志
scrollBarMargin滚动条 margin
scrollBarRes滚动条资源
ptrRes下拉刷新资源
extention根组件扩展类型
bgColor背景颜色
bgColorEnabled是否启用背景颜色
idnum内部编号
initName初始化名
remark备注
designImageAlpha设计图透明度
designImageLayer设计图层
designImageOffsetX设计图 X 偏移
designImageOffsetY设计图 Y 偏移

根组件自定义属性 <customProperty>

<customProperty><component> 的直接子节点,可重复出现。

属性名Alias说明
target组件内目标对象路径
propertyId对外暴露的属性类型,0 表示文本、1 表示图标
label编辑器显示标签

显示对象公共属性

以下属性适用于全部具体 display-list 对象。后续各标签表只补充标签专属属性或重申重点字段;未重复列出不代表该公共属性不适用。

属性名Alias说明
id对象标识
name对象名
relation关系引用字段
xy位置
size尺寸
locked是否锁定
restrictSize尺寸限制
aspect宽高约束
pivotpivot
anchor是否以 pivot 作为坐标锚点
scale缩放
skew倾斜,格式为 x,y
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
tooltipstooltip 文本
customData自定义数据
blend混合模式
filter滤镜类型
filterData滤镜数据

<component> 子组件实例

属性名Alias说明
src引用组件资源
controller实例 controller override
pageController实例 page controller
xy位置
size尺寸
locked是否锁定
restrictSize尺寸限制
aspect宽高约束
pivotpivot
anchoranchor
scale缩放
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
tooltipstooltip 文本
customData自定义数据
fileName资源文件名
pkg资源包标识
filter滤镜类型
filterData滤镜数据

<image>

属性名Alias说明
src图片资源
color颜色
flip翻转
fillMethod填充方法
fillOrigin填充起点
fillClockwise顺时针填充
fillAmount填充比例
xy位置
size尺寸
locked是否锁定
aspect宽高约束
pivotpivot
anchoranchor
scale缩放
skew倾斜,格式为 x,y
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
pkg资源包标识
filter滤镜类型
filterData滤镜数据

<graph>

属性名Alias说明
xy位置
size尺寸
locked是否锁定
restrictSize尺寸限制
pivotpivot
anchoranchor
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
skew倾斜
type图形类型
lineSize线宽
lineColor线颜色
fillColor填充颜色
corner圆角
points顶点坐标
sides多边形边数
startAngle起始角度
distances顶点距离

<movieclip> / <jta>

属性名Alias说明
src动画资源
playing是否播放
frame帧号
color颜色
xy位置
size尺寸
pivotpivot
anchor是否以 pivot 作为坐标锚点
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
fileName资源文件名
pkg资源包标识
filter滤镜类型
filterData滤镜数据

<loader>

属性名Alias说明
xy位置
size尺寸
pivotpivot
anchor是否以 pivot 作为坐标锚点
scale缩放
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
url加载地址
align水平对齐
vAlign垂直对齐
fill填充模式
shrinkOnly仅缩小
autoSize自动尺寸
useResize使用 resize
color颜色
playing是否播放
frame帧号
fillMethod填充方法
fillOrigin填充起点
fillClockwise顺时针填充
fillAmount填充比例
clearOnPublish发布时清理
filter滤镜类型
filterData滤镜数据

<loader3d>

属性名Alias说明
xy位置
size尺寸
pivotpivot
anchor是否以 pivot 作为坐标锚点
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
url加载地址
align水平对齐
vAlign垂直对齐
fill填充模式
shrinkOnly仅缩小
autoSize自动尺寸
animationanimationName动画名
skinskinName皮肤名
playing是否播放
frame帧号
loop是否循环
color颜色
clearOnPublish发布时清理

<text>

属性名Alias说明
xy位置
size尺寸
restrictSize尺寸限制
pivotpivot
anchor是否以 pivot 作为坐标锚点
customData自定义数据
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
font字体
fontSize字号
color颜色
align水平对齐
vAlign垂直对齐
autoSize自动尺寸
singleLine单行模式
text文本内容
input是否输入文本
ubb是否启用 UBB
leading行间距
letterSpacing字间距
underline下划线
italic斜体
bold粗体
strikethrough删除线
strokeColor描边颜色
strokeSize描边宽度
shadowColor阴影颜色
shadowOffset阴影偏移
autoClearText自动清空文本
demoText示例文本
faceDilate字面扩张
underlaySoftness下层柔化
vars模板变量开关
promptpromptText输入提示
maxLength最大长度
restrict输入限制
password密码模式
keyboardType键盘类型

<inputtext>

属性名Alias说明
xy位置
size尺寸
restrictSize尺寸限制
pivotpivot
anchor是否以 pivot 作为坐标锚点
customData自定义数据
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
font字体
fontSize字号
color颜色
align水平对齐
vAlign垂直对齐
autoSize自动尺寸
singleLine单行模式
text文本内容
input是否输入文本
ubb是否启用 UBB
leading行间距
letterSpacing字间距
underline下划线
italic斜体
bold粗体
strikethrough删除线
strokeColor描边颜色
strokeSize描边宽度
shadowColor阴影颜色
shadowOffset阴影偏移
autoClearText自动清空文本
demoText示例文本
faceDilate字面扩张
underlaySoftness下层柔化
vars模板变量开关
promptpromptText输入提示
maxLength最大长度
restrict输入限制
password密码模式
keyboardType键盘类型

<richtext>

属性名Alias说明
xy位置
size尺寸
pivotpivot
anchor是否以 pivot 作为坐标锚点
customData自定义数据
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
font字体
fontSize字号
color颜色
align水平对齐
vAlign垂直对齐
autoSize自动尺寸
singleLine单行模式
text文本内容
ubb是否启用 UBB
leading行间距
letterSpacing字间距
underline下划线
italic斜体
bold粗体
strikethrough删除线
strokeColor描边颜色
strokeSize描边宽度
shadowColor阴影颜色
shadowOffset阴影偏移
autoClearText自动清空文本
restrictSize尺寸限制
underlaySoftness下层柔化

<group>

属性名Alias说明
xy位置
size尺寸
locked是否锁定
pivotpivot
anchor是否以 pivot 作为坐标锚点
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰
layout布局模式
lineGap行间距
colGapcolumnGap列间距
advanced是否高级分组
excludeInvisibles是否排除不可见对象
autoSizeDisabled是否关闭自动尺寸
mainGridIndex主网格索引

<list> / 树列表

属性名Alias说明
src列表资源
layout布局模式
align水平对齐
vAlign垂直对齐
lineGap行间距
colGapcolumnGap列间距
lineItemCountflow_hz 每行项目数、flow_vt 每列项目数、pagination 每页列数
lineItemCount2pagination 每页行数
autoItemSizeautoResizeItem自动调整项目尺寸
renderOrder子项渲染顺序:ascentdescentarch
apexrenderOrder="arch" 时的顶点子项索引
selectionMode选择模式
selectionController选择控制器
defaultItem默认项目资源
pageController页面控制器
controllercontroller override
overflowoverflow 模式
scroll滚动模式
scrollBar滚动条显示方式
scrollBarFlags滚动条相关标志
scrollBarMargin滚动条 margin
scrollBarRes滚动条资源
ptrRes下拉刷新资源
marginmargin
clipSoftness裁剪软边
treeView是否树模式
indent树缩进
clickToExpand点击展开方式
autoClearItems自动清空项目
scrollItemToViewOnClick点击子项后是否自动滚动到可见区域
foldInvisibleItems布局时是否折叠不可见子项
xy位置
size尺寸
pivotpivot
anchor是否以 pivot 作为坐标锚点
group所属 group
rotation旋转
alpha透明度
visible是否可见
touchable是否可触摸
grayed是否置灰

扩展子节点协议

<Button>

属性名Alias说明
mode按钮模式
sound点击音效
soundVolumeScalevolume音量缩放
downEffect按下效果
downEffectValue按下效果值
title标题
selectedTitle选中标题
icon图标
selectedIcon选中图标
titleColor标题颜色
titleFontSize标题字号
controller关联控制器
page关联页面
checked是否选中

<Label>

属性名Alias说明
title标题
icon图标
titleColor标题颜色
titleFontSize标题字号
prompt提示文本

<ComboBox>

属性名Alias说明
dropdown下拉组件资源
title标题
icon图标
visibleItemCount可见条目数
selectionController选择控制器

<ProgressBar>

属性名Alias说明
titleType标题类型
reverse是否反向
value当前值
max最大值
min最小值

<Slider>

属性名Alias说明
titleType标题类型
reverse是否反向
wholeNumbers是否整数步进
changeOnClick点击时改变值
value当前值
max最大值
min最小值

<ScrollBar>

属性名Alias说明
fixedGripSize固定 grip 大小

结构节点属性

<relation>

属性名Alias说明
target目标对象
sidePair关系侧对

<gear*>

属性名Alias说明
controller控制器
pages页面集合
values值集合
default默认值
tween是否补间
positionsInPercent是否按百分比位置
conditiongear 条件
ease缓动类型
duration时长

<controller>

属性名Alias说明
name控制器名
pages页面集合
selected当前选中页

<action>

属性名Alias说明
type动作类型
fromPage起始页
toPage目标页
transition转场名
repeat重复次数
delay延迟
stopOnExit离开时停止
objectId目标对象
controller控制器名
targetPage目标页名

<transition>

属性名Alias说明
name转场名
autoPlay是否自动播放
autoPlayRepeatautoPlayTimes自动播放重复次数
autoPlayDelay自动播放延迟
options选项
fps帧率

<transition><item>

属性名Alias说明
time时间点
target目标对象
tween是否补间
duration时长
repeat重复次数
yoyo是否往返
label标签
label2第二标签
pathXY 补间的运动轨迹路径
customEaseease="Custom" 时使用的自定义缓动曲线数据,与 path 运动轨迹相互独立
ease缓动类型;Custom 表示使用 customEase
type项目类型
value
startValue起始值
endValue结束值

<list><item>

属性名Alias说明
title标题
icon图标
url链接资源
name名称
selectedTitle选中标题
selectedIcon选中图标
level层级
isFolder是否文件夹
controllerscontroller 覆盖

<ComboBox><item>

属性名Alias说明
title标题
value
icon图标

维护要求

项目要求
新增 XML 属性必须同步更新本文档
新增 alias必须同时更新 canonical/alias 对照
调整 tag 命名或 displayList 变体同步更新 Project XML DisplayList Tag 对齐
协议文档边界只描述 XML 协议本身,不描述项目内部承载方式或实现对齐关系

MIT Licensed