
本课程核心解决了传统 UI 动效中“文本内容变长导致按钮破面或字体重叠”的硬编码痛点。通过深度利用 Rive 自动布局的 Hug(内容包裹) 属性,本节课实现了文本字长驱动背景容器尺寸的流式响应机制。最终业务效益在于:动画师或前端开发人员无需为不同的文案长度单独制作多套按钮资产,只需在运行时(Runtime)修改单体组件内的文本运行分支(Text Run),按钮容器便能自动完成像素级的几何重绘与内边距弹性自适应,极大提升了跨语言(多国语言文案适配)场景下的组件复用效率。
- 容器直接挂载背景原则: 在 Rive 的自动布局流中,不需要、也不应该单独绘制一个 Shape 矩形置于底层充当按钮背景。标准的做法是直接选中 Parent Layout 容器(如本例中的 Row),直接在它的属性面板中激活
Background Fill。这样背景才会成为容器的内生属性,跟随流式计算一同形变。 - 动态尺寸驱动公式: $$\text{外部运行时注入/修改 Text Run 字符串} \rightarrow \text{Text 边界随字体度量自动拉伸} \rightarrow \text{Parent Layout (Width: Hug) 重新计算总宽 } [Width = \text{Text Width} + \text{Padding Left} + \text{Padding Right}]$$
- 多层背景与偏移(Offset)妙用: Rive 允许在一个布局容器上叠加多层 Background Fills。利用 Vector Feathering 面板中的
Offset功能,在将 Feathering 设为 0 的前提下单独追加 Y 轴相对位移,是为自适应组件增添拟物化伪 3D 视觉厚度或硬阴影的高效、免骨骼首选方案。 - 单项布局嵌套黄金法则: 构建自适应单体按钮时,牢记必须双击
Shift + L。单次敲击只能完成“图层属性到布局属性的格化转换”,再次敲击产生的父容器才是挂载 Hug 属性与 Background 填充、Padding 边距的核心操作母板。