Skip to content

RichUI 字段字典

这一页只记录 richui JSON 里当前能明确写清的字段:

  • 字段类型
  • 值格式
  • 已确认枚举项
  • 典型示例值
  • 当前证据等级

1. 顶层对象

1.1 顶层字段表

字段类型值格式已确认枚举/示例当前状态说明
versionnumber整数12已确认模板版本
templateIdstring普通字符串com.tencent.public.game.video已确认模板 ID
busIdstring普通字符串demo已确认存在业务含义未完全闭环
summarystring普通字符串无稳定模板样例已确认存在写法未沉淀
uuidstring普通字符串无稳定模板样例已确认存在实例唯一 ID
layoutobject单个布局树对象见下文已确认根布局树
attributesobject根属性对象见下文已确认根属性树
extraobject普通对象{ "dynamicParams": [...] }已确认扩展元信息

1.2 extra

当前已确认字段:

字段类型值格式示例状态
dynamicParamsarray<string>字符串数组["subscribeTag"]已确认

2. layout 字段字典

layout 是一棵树。每个节点至少是一个对象,子节点放在 layout 数组里。

2.1 布局节点基础字段

字段类型值格式已确认枚举/示例当前状态说明
viewIdstring普通字符串appheadertitle已确认节点 ID
viewTypestring普通字符串textimage已确认原子视图类型
widthnumber整数或小数-1-22465已确认-1/-2 在模板里反复出现
heightnumber整数或小数-1-20.52450已确认分割线可用 0.5
layoutarray<object>子节点数组[]已确认子布局
directionstring枚举字符串horizontalvertical已确认容器方向
gravitystring枚举或组合字符串centerVertical、`rightcenterVerticalcenterbottomright`已确认
rationumber数字1.87已确认宽高比

2.2 width / height 的当前解释

当前模板里已经稳定出现:

当前解释状态
-1撑满可用空间已确认
-2包内容已确认
正数固定尺寸已确认
0.5细分割线高度已确认

2.3 direction 枚举

当前只拿到这两个模板实锤值:

说明证据状态
horizontal横向排列已确认
vertical纵向排列已确认

当前不要额外写其它值,除非后续再拿到模板或实现证据。

2.4 gravity 枚举

当前在模板里已经直接出现的值:

说明证据状态
centerVertical垂直居中已确认
`rightcenterVertical`右对齐 + 垂直居中
center居中已确认
bottom底部对齐已确认
right右对齐已确认

当前没有拿到模板实锤的值:

  • left
  • left|centerVertical
  • top

这些值即使实测可能可用,当前也不写成“已确认枚举”。

2.5 viewType 枚举

当前模板里直接确认的项只有:

说明状态
text文本视图已确认
image图片视图已确认

当前还不能写成已确认模板项的:

  • progress
  • circularProgress
  • 其他自定义 viewType

2.6 间距字段

字段类型值格式示例状态
marginLeftnumber数字16128已确认
marginRightnumber数字16128已确认
marginTopnumber数字12244已确认
marginBottomnumber数字1216已确认

3. attributes 字段字典

attributes 当前是“按 viewId 找节点,再给节点挂属性”的结构。

3.1 属性节点基础字段

字段类型值格式已确认枚举/示例当前状态说明
viewIdstring普通字符串appheader已确认指向哪个布局节点
attributesarray<object>子属性数组[]已确认递归子属性
radiusnumber数字1012已确认圆角
backgroundColorstring颜色字符串或主题 token#FFFFFFbubble_guest已确认背景色
clickablebooleantrue/falsetrue已确认是否可点击
schemastringURL、协议、变量引用https://...mqqapi://...$$jumpUrl已确认点击跳转

3.2 颜色类字段

backgroundColor

当前已确认值格式:

格式示例状态
十六进制颜色字符串#FFFFFF已确认
主题 token 字符串bubble_guest已确认

当前不要默认写成:

  • 数字颜色值
  • 颜色对象

除非后续拿到模板或实现证据。

textColor

当前已确认值格式:

格式示例状态
十六进制颜色字符串#111827#FFFFFF已确认

bgGradient

当前字段结构已经明确:[1]

字段类型值格式示例状态
startColorstring颜色字符串#18234A已确认数据结构
endColorstring颜色字符串#4B1E8A已确认数据结构
verticalbooleantrue/falsefalse已确认数据结构

当前边界:

  • 渐变能力真实存在
  • bgGradient 这组键当前已实测可用
  • 但还没拿到官方模板字符串级样例

StateColor

底层还存在:StateColor(normalColor, pressedColor, disabledColor)[2]

当前字段结构:

字段类型值格式状态
normalColorstring颜色字符串已确认数据结构
pressedColorstring颜色字符串已确认数据结构
disabledColorstring颜色字符串已确认数据结构

当前边界:

  • 底层数据结构存在
  • JSON 层稳定写法未闭环

3.3 文本属性字段

字段类型值格式示例状态
textstring普通字符串Hello已确认
textSizenumber数字14已确认
textColorstring颜色字符串#111827已确认
maxLinenumber整数模板出现过该写法已确认模板写法
fontBold未明确未明确模板层曾观察到未完整探索

maxLine / maxLines

当前要分开写:

字段当前状态说明
maxLine已确认模板出现模板层写法
maxLines已确认数据模型存在来自 QuoteSettings,不是当前模板实锤写法

lineBreakMode

底层枚举已明确:[3]

说明状态
wordWrapping单词换行已确认枚举
charWrapping字符换行已确认枚举
clipping裁切已确认枚举
truncatingHead头部截断已确认枚举
truncatingTail尾部截断已确认枚举
truncatingMiddle中间截断已确认枚举

当前边界:

  • 这些是底层枚举值
  • 但还没拿到模板字符串里直接写它们的样例

3.4 图片属性字段

字段类型值格式示例状态
srcstringURL 或变量引用https://...$$jumpUrl 同风格引用已确认常用
failedSrcstring字符串未稳定样例未完整探索
radiusnumber数字10已确认

底层图片接口能力:[4]

能力当前状态说明
ScaleType已确认底层存在JSON 键名未闭环
contentMode未闭环仅有经验线索,没有模板级实锤

4. 当前不建议写成“已确认”的字段

这些字段或值当前没有足够模板/实现证据,不应在正文里写成稳定能力:

  • progress 作为线性进度条 viewType
  • circularProgress 作为稳定 JSON 键名
  • contentMode 的具体枚举值
  • borderRadius 作为稳定字段
  • fontBold 的具体值域

5. 关键源码


  1. BgGradient(startColor, endColor, vertical)../../apk_jadx/sources/com/tencent/android/androidbypass/richui/viewdata/c.java:24-35,84-91↩︎

  2. StateColor(normalColor, pressedColor, disabledColor)../../apk_jadx/sources/com/tencent/android/androidbypass/richui/viewdata/n.java:25-36,77-84↩︎

  3. lineBreakMode 底层枚举见 ../../apk_jadx/sources/rz1/m.java:8-27QuoteSettings 输出 lineBreakMode 键见 ../../apk_jadx/sources/rz1/y.java:152-159↩︎

  4. 图片接口见 ../../apk_jadx/sources/com/tencent/android/androidbypass/richui/view/e.java:49-53↩︎