Skip to content

Latest commit

 

History

History
125 lines (96 loc) · 3.04 KB

File metadata and controls

125 lines (96 loc) · 3.04 KB

MusicHomeScreen UI 高保真还原指南

🎯 已完成的优化

基于 Figma 设计稿 (node-id: 383-5697) 进行的高保真 UI 还原:

✅ 精确还原的元素

  1. 容器布局

    • 背景色:#F4F8F8
    • 尺寸:375x812px
    • 整体布局结构完全匹配设计稿
  2. 顶部状态栏

    • 返回按钮:23x23px,深色主题 #003337
    • 连接状态:圆角45px,品牌色 #23BBC2
    • 状态指示点:红色圆点 #FF5F5F
  3. 创作路径卡片

    • 卡片尺寸:165x108px,圆角6px
    • 我的作品:渐变蓝色 #6AEEF4
    • 哼唱作品:渐变蓝色 #6ABDF4
    • 装饰气泡:精确位置和渐变色
  4. 填词作品区域

    • 输入框:338x384px,白色背景
    • 语言切换:32x18px 圆角开关
    • 按钮样式:精确的圆角和颜色
  5. 底部导航栏

    • 尺寸: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;

🚀 性能优化

  1. 图片优化:使用 SVG 或 WebP 格式
  2. 阴影优化:在 Android 使用 elevation
  3. 动画优化:使用 react-native-reanimated
  4. 字体优化:预加载 Inter 字体

📋 测试清单

  • iOS 设备显示正常
  • Android 设备显示正常
  • 触摸反馈正常
  • 导航切换正常
  • 文本输入正常
  • 阴影效果正确
  • 颜色准确匹配
  • 间距精确对齐

🎯 下一步计划

  1. 安装并配置图标库
  2. 实现渐变色背景(使用 react-native-linear-gradient)
  3. 添加动画过渡效果
  4. 优化触摸反馈
  5. 添加暗色主题支持