Skip to content

图标 ​

概述 ​

NativePHP EDGE 组件使用智能图标映射系统,自动将图标名称转换为平台特定的图标。在 iOS 上,图标渲染为 SF Symbols,而 Android 使用 Material Icons。

你不需要担心差异!只需在组件中使用单一、一致的图标名称,EDGE 会自动处理平台转换。

工作原理 ​

图标系统使用四层解析策略:

  1. 直接平台图标 - 在 iOS 上,如果名称包含 .,它会被用作直接的 SF Symbol 路径(例如 car.side.fill)。在 Android 上,任何 Material Icon 连字名称都可以直接使用(例如 shopping_cart)。
  2. 手动映射 - 常见图标和别名的显式映射(例如 home、settings、user)
  3. 智能回退 - 尝试将未映射的图标名称自动转换为平台等效项
  4. 默认回退 - 如果找不到匹配项,使用圆形图标

这种方法意味着你可以对常见情况使用直观的图标名称,对高级用例利用直接的平台图标,并在 iOS 和 Android 上获得一致的结果。

平台差异 ​

iOS (SF Symbols) ​

在 iOS 上,图标渲染为 SF Symbols。手动映射将常见图标名称转换为其 SF Symbol 等效项。例如:

  • home → house.fill
  • settings → gearshape.fill
  • check → checkmark.circle.fill

如果图标名称未被手动映射,系统会尝试通过尝试 .fill、.circle.fill 和 .square.fill 等变体来查找匹配的 SF Symbol。

Android (Material Icons) ​

在 Android 上,图标使用支持整个 Material Icons 库的轻量级基于字体的方法渲染。你可以直接使用任何 Material Icon 的连字名称(例如 shopping_cart、qr_code_2)。

手动映射为常见图标名称提供便捷的别名。例如:

  • home → home
  • settings → settings
  • check → check
  • cart → shopping_cart

直接平台图标 ​

对于高级用例,你可以直接使用平台特定的图标名称。

iOS SF Symbols ​

在 iOS 上,在图标名称中包含 . 以直接使用 SF Symbol 路径:

blade
<native:bottom-nav-item icon="car.side.fill" ... />
<native:bottom-nav-item icon="flashlight.on.fill" ... />
<native:bottom-nav-item icon="figure.walk" ... />

Android Material Icons ​

在 Android 上,使用任何 Material Icon 连字名称(带下划线):

blade
<native:bottom-nav-item icon="qr_code_2" ... />
<native:bottom-nav-item icon="flashlight_on" ... />
<native:bottom-nav-item icon="space_dashboard" ... />

平台特定图标 ​

当你需要在每个平台上使用不同的图标时,使用 System facade:

blade
<native:bottom-nav-item
    id="flashlight"
    icon="{{ \Native\Mobile\Facades\System::isIos() ? 'flashlight.on.fill' : 'flashlight_on' }}"
    label="Flashlight"
    url="/flashlight"
/>

当映射的图标不符合你的需求或你想使用平台特定变体时,这很有用。

基本用法 ​

在任何支持图标的 EDGE 组件中使用 icon 属性,只需传递你想使用的图标名称:

blade
<native:bottom-nav-item
    id="home"
    icon="home"
    label="Home"
    url="/home"
/>

图标参考 ​

此处列出的所有图标都经过手动映射,保证在 iOS 和 Android 上一致工作。

导航 ​

图标描述
dashboard网格式仪表盘视图
home房屋/主屏幕
menu三横线汉堡菜单
settings齿轮/设置
account、profile、user用户账户或个人资料
person单人
people、connections、contacts多人
group、groups人群

商业和商务 ​

图标描述
orders、receipt收据或订单
cart、shopping购物车
shop、store商店或店面
products、inventory产品或库存

图表和数据 ​

图标描述
chart、barchart条形图
analytics分析
summary、report、assessment摘要或报告

时间和日程 ​

图标描述
clock、schedule、time时钟或时间
calendar日历
history历史或最近

操作 ​

图标描述
add、plus添加或创建新项
edit编辑或修改
delete删除或移除
save保存
search搜索
filter筛选
refresh刷新或重新加载
share分享
download下载
upload上传

通信 ​

图标描述
notifications通知或提醒
message消息或短信
email、mail电子邮件
chat聊天或对话
phone电话或通话

导航箭头 ​

图标描述
back返回或上一步
forward前进或下一步
up向上箭头
down向下箭头

状态 ​

图标描述
check、done勾选或完成
close关闭或取消
warning警告
error错误
info信息

认证 ​

图标描述
login登录
logout、exit登出或退出
lock已锁定
unlock已解锁

内容 ​

图标描述
favorite、heart收藏或喜欢
star星标或评分
bookmark书签
image、photo图片或照片
image-plus添加照片
video视频
folder文件夹
folder-lock锁定的文件夹
file、description文档或文件
book-open书籍
newspaper、news、article新闻或文章

设备和硬件 ​

图标描述
camera相机
qr、qrcode、qr-code二维码扫描器
device-phone-mobile、smartphone手机
vibrate振动
bell铃铛或通知
finger-print、fingerprint指纹或生物识别
light-bulb、lightbulb、flashlight灯泡或手电筒
map、location地图或位置
globe-alt、globe、web地球或网络
bolt、flash闪电或闪光

音频和音量 ​

图标描述
speaker、speaker-wave有声扬声器
volume-up增大音量
volume-down减小音量
volume-mute、mute静音
volume-off关闭音量
music、audio、music-note音乐或音频
microphone、mic麦克风

其他 ​

图标描述
help帮助或问题
about、information-circle信息或关于
more更多选项
list列表视图
visibility可见
visibility_off隐藏

最佳实践 ​

图标具有含义,大多数用户会将图标的视觉提示与跨应用程序的底层行为或部分相关联。因此,尝试保持图标的一致使用,以帮助引导用户浏览你的应用。

  • 保持一致 - 在整个应用中对相同的操作使用相同的图标名称
  • 在两个平台上测试 - 如果你使用自动转换的图标,请验证它们在 iOS 和 Android 上正确显示

查找图标 ​

Android Material Icons ​

在 Google Fonts Icons 浏览完整的 Material Icons 库。完全按照显示的方式使用图标名称(带下划线,例如 shopping_cart、qr_code_2)。

iOS SF Symbols ​

使用此社区 Figma 文件浏览 SF Symbols。虽然不全面,但这是发现可用符号的一个很好的起点。

要获取完整的库,请为 macOS 下载 SF Symbols 应用。

提示

SF Symbol 名称使用点(例如 house.fill),而 Material Icon 名称使用下划线(例如 shopping_cart)。

基于 NativePHP 官方文档翻译