基于 Figma 设计稿 (node-id: 383-5697) 进行的高保真 UI 还原:
-
容器布局
- 背景色:
#F4F8F8 - 尺寸:375x812px
- 整体布局结构完全匹配设计稿
- 背景色:
-
顶部状态栏
- 返回按钮:23x23px,深色主题
#003337 - 连接状态:圆角45px,品牌色
#23BBC2 - 状态指示点:红色圆点
#FF5F5F
- 返回按钮:23x23px,深色主题
-
创作路径卡片
- 卡片尺寸:165x108px,圆角6px
- 我的作品:渐变蓝色
#6AEEF4 - 哼唱作品:渐变蓝色
#6ABDF4 - 装饰气泡:精确位置和渐变色
-
填词作品区域
- 输入框:338x384px,白色背景
- 语言切换:32x18px 圆角开关
- 按钮样式:精确的圆角和颜色
-
底部导航栏
- 尺寸:334x68px,顶部圆角52px
- 激活状态:品牌色指示
- 阴影效果:
#E1ECEC阴影
npm install react-native-vector-icons
cd ios && pod install # iOS only在 android/app/build.gradle 中添加:
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"import Icon from 'react-native-vector-icons/Feather';
// 替换返回按钮
<TouchableOpacity style={styles.backButton}>
<Icon name="arrow-left" size={23} color="#003337" />
</TouchableOpacity>
// 替换导航图标
<Icon name="translate" size={14} color="#949494" />
<Icon name="music" size={14} color="#949494" />
<Icon name="user" size={14} color="#949494" />- 主品牌色:
#23BBC2 - 深色主题:
#003337 - 背景色:
#F4F8F8 - 文本灰色:
#949494 - 纯白色:
#FFFFFF
- 标题:Inter Bold 800,20px
- 正文:Inter Regular 400,12px
- 按钮:Inter Bold 700,14px
- 容器边距:18px
- 卡片间距:1px
- 内边距:16px/20px
- 圆角:6px/36px/52px
- 卡片阴影:rgba(0,0,0,0.12) 6px blur
- 导航阴影:rgba(225,236,236,0.67) 4px blur
当前设计已针对 375px 宽度优化,如需适配其他屏幕尺寸:
const { width } = Dimensions.get('window');
const scaleFactor = width / 375;
// 动态计算尺寸
const cardWidth = 165 * scaleFactor;
const containerWidth = 338 * scaleFactor;- 图片优化:使用 SVG 或 WebP 格式
- 阴影优化:在 Android 使用 elevation
- 动画优化:使用 react-native-reanimated
- 字体优化:预加载 Inter 字体
- iOS 设备显示正常
- Android 设备显示正常
- 触摸反馈正常
- 导航切换正常
- 文本输入正常
- 阴影效果正确
- 颜色准确匹配
- 间距精确对齐
- 安装并配置图标库
- 实现渐变色背景(使用 react-native-linear-gradient)
- 添加动画过渡效果
- 优化触摸反馈
- 添加暗色主题支持