callstack / callstack/react-native-paper

Add support or recommendation for Material Symbols icons

未关闭
#4,475 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
feature request
主要语言
TypeScript
星标
14.5k
派生
2.2k
平均合并
5 天 23 小时
30 天内合并 PR
12

描述

**Is your feature request related to a problem? Please describe.**
Icons play a crucial role in truly polished experiences. The current support for MD icons is based on the legacy Material Icons collection (through [MaterialCommunityIcons](https://materialdesignicons.com/)). While this is great to start with, the legacy icons collection tends to fall short as soon one needs to tap into the additional level of customisation that the new [Material Symbols](https://fonts.google.com/icons) collection provide:
* style (i.e. sharp, rounded, outlined)
* weight
* grade
* optical size

**Describe the solution you'd like**
1. Ideally, it would be amazing if the default icons could be based on Material Symbols rather than the old Material Icons.
2. Alternatively, it would be great to extend the [icons doc](https://callstack.github.io/react-native-paper/docs/guides/icons/) to provide a recommendation for existing libraries or workarounds to leverage the new Material Symbols.

**Describe alternatives you've considered**
Searched for React Native libraries with Material Symbols support, very few results with poor maintenance level.

**Additional context**
From [fonts.google.com](https://fonts.google.com/download?family=Material+Symbols+Outlined|Material+Symbols+Rounded|Material+Symbols+Sharp) it is possibile to download the icons in the the three style (i.e. sharp, rounded, outlined), each of which will come with:
* one TTF file containing the variable font with size 12MB
* 56 TTF files containing the static fonts with various combinations of size (28, 36, 48), fill (0, 1), weight (thin, extra light, light, regular, medium, semi bold, bold). Each one of those has size between 1MB and 1.5MB

Using [createIconSet](https://docs.expo.dev/guides/icons/#createiconset) from Expo with one of the static files above (actually two since it is very likely that filled and not filled icons are both needed) and the corresponding [codepoints](https://github.com/google/material-design-icons/tree/master/variablefont), it is possible to make things work.

贡献指南

打开贡献指南

调研方向

从 issue 中链接的图标指南开始,并审查现有的 MaterialCommunityIcons 集成。比较提议的两个范围——记录 Expo createIconSet 的变通方案,或替换默认图标集合——并确认 maintainers 希望采用哪个方向。完成的标准应当是:要么在指南中给出明确的 Material Symbols 建议,要么完成经过测试的默认图标集成。

由索引模型根据 Issue 内容生成。

评估

技术栈
react-native, typescript
领域
mobile
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。