跳到主要内容

间距 · 圆角 · 阴影

间距

4-px 基准网格。组件内部多用 10–14,板块之间用 16–24

Tokenpx常用
14最紧间隙
26图标-文字间隙
38头像-气泡间隙
410气泡纵向 padding
512气泡横向 padding、栏间距
614卡片 padding
716区块栏间距
820较大区块间距
924Hero padding
1032通栏区块间距

规则。 屏幕侧边距 12–16px。气泡 padding 10px 12px。卡片 12–14px。尊重安全区(iOS home indicator: 34px)。

圆角

小集合,明确分工。最重要的是气泡的非对称圆角——指向头像的内角是直角。

Tokenpx用途
sm6小按钮、徽章(4 是特殊微型)
md8输入框、默认按钮
lg10卡片、列表行
xl12大卡片、列表容器
2xl14聊天气泡
3xl18输入框 wrapper
pill999chips、pill

气泡的非对称圆角(核心)

  • AI 气泡borderRadius: 0 14px 14px 14px(左上角直角)
  • 用户气泡borderRadius: 14px 0 14px 14px(右上角直角)

直角指向头像。这是设计系统最辨识度的视觉符号,不要破坏

const aiBubble = {
borderTopLeftRadius: 0, // 直角
borderTopRightRadius: 14,
borderBottomLeftRadius: 14,
borderBottomRightRadius: 14,
};

const userBubble = {
borderTopLeftRadius: 14,
borderTopRightRadius: 0, // 直角
borderBottomLeftRadius: 14,
borderBottomRightRadius: 14,
};

阴影

仅一种轻微卡片阴影。无内阴影、无霓虹光晕、无双重边框。

用途CSSRN
Card0 1px 4px rgba(0,0,0,0.08)shadowOpacity: 0.08, shadowRadius: 4, shadowOffset: {0, 1}, elevation: 2
Pop(弹层)0 4px 12px rgba(235,110,0,0.18)shadowOpacity: 0.18, shadowRadius: 12, shadowOffset: {0, 4}, elevation: 6, shadowColor: '#EB6E00'
列表行 / 设置项

确认卡片用 2px 彩色边框(橙 / 绿 / 灰),不带阴影

const shadow = useShadow(); // 来自 @/theme

const styles = StyleSheet.create({
card: { ...shadow.card }, // 默认卡片阴影
raised: { ...shadow.floating }, // TabBar 玻璃浮岛(大半径柔散)
brand: { ...shadow.brandMd }, // 品牌橙光晕(Avatar ring / 主按钮)
flat: { ...shadow.none }, // 显式去阴影
});