Flutter: используйте шрифт значков из другого пакета
Я разработал отдельный пакет пользовательского интерфейса для своего проекта.
Вот его упрощенная структура:
project:
│
...
│
├── lib:
│ │
│ └── classes using AppIcons.ttf:
│
└── packages:
│
└── ui-kit:
│
├── lib:
│ │
│ └── classes using AppIcons.ttf:
│
└── assets:
│
└── icons:
│
└── AppIcons.ttf:
packages/ui-kit/pubspec.yaml
:
flutter:
fonts:
- family: AppIcons.ttf
fonts:
- asset: assets/icons/AppIcons.ttf
packages/ui-kit/app_icons.dart
:
abstract class AppIcons {
static const _kFontFam = 'AppIcons';
static const IconData ic_add = IconData(0xe800, fontFamily: _kFontFam);
...
}
Вопрос в том, как я могу использовать
AppIcons.ic_add
внутри
lib/
Поэтому, когда я попытался разместить значок (
Icon(AppIcons.ic_add)
) Я всегда получаю заполнитель вместо моего значка
Скажите, пожалуйста, можно ли использовать значки, расположенные вне корневого пакета?
и как мне это реализовать
1 ответ
Наконец-то я решил этот вопрос.
Для тех, кто столкнулся с той же проблемой, вот мое решение:
packages/ui-kit/app_icons.dart
:
...
flutter:
fonts:
- family: AppIcons.ttf
fonts:
- asset: packages/ui-kit/assets/icons/AppIcons.ttf
...