Flutter字体图标管理插件flutter_glyph_kit的使用
Flutter字体图标管理插件flutter_glyph_kit的使用
Flutter Glyph Kit
Flutter实现的由Nothing Technology Ltd开发的Glyph-Developer-Kit插件。
开始使用
注意事项
此插件只能在Nothing Phone (1) 和 Nothing Phone (2) 上使用。
安装
在你的pubspec.yaml
文件中添加以下内容:
flutter pub add flutter_glyph_kit
在你的AndroidManifest.xml
文件中添加以下内容:
<!-- 在调试模式下使用以下行 -->
<meta-data android:name="NothingKey" android:value="test"/>
<!-- 在发布模式下使用以下行 -->
<meta-data android:name="NothingKey" android:value="YOUR_KEY"/>
注意
在调试模式下,你可以使用test
键。但在发布模式下,你需要使用由Nothing提供的密钥。
为了在调试模式下使用插件,你还需要在终端中执行以下命令:
adb shell settings put global nt_glyph_interface_debug_enable 1
使用
该插件的使用非常简单,它提供了两个类Phone1Glyph
和Phone2Glyph
。
它还提供了两个枚举类型Phone1Led
和Phone2Led
,以帮助你使用该插件。
如果你想开发自己的实现,可以使用包含所有方法的GlyphInterfaceSdk
类。
Phone1Glyph
import 'package:flutter/material.dart';
import 'package:flutter_glyph_kit/flutter_glyph_kit.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Phone 1 Glyph Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
final glyph = Phone1Glyph();
await glyph.toggle(
channels: [
Phone1Led.a1,
Phone1Led.a2,
]
);
// 这将打开A1和A2 LED灯
},
child: const Text('Toggle'),
)
),
),
);
}
}
Phone2Glyph
import 'package:flutter/material.dart';
import 'package:flutter_glyph_kit/flutter_glyph_kit.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Phone 2 Glyph Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
final glyph = Phone2Glyph();
await glyph.toggle(
channels: [
Phone2Led.a1,
Phone2Led.a2,
]
);
// 这将打开A1和A2 LED灯
},
child: const Text('Toggle'),
)
),
),
);
}
}
更多信息
有关SDK的更多信息,可以查看官方仓库:https://github.com/Nothing-Developer-Programme/Glyph-Developer-Kit
许可证
该项目采用MIT许可证,详情请参见LICENSE文件。
示例代码
以下是使用flutter_glyph_kit
插件的示例代码:
import 'package:flutter/material.dart';
import 'package:flutter_glyph_kit/flutter_glyph_kit.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
void initState() {
super.initState();
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('插件示例应用'),
),
body: Center(
child: Column(
children: [
ElevatedButton(
onPressed: () async {
final phone2Glyph = Phone2Glyph();
await phone2Glyph.toggle(
channels: [Phone2Led.a1, Phone2Led.a2, Phone2Led.c1_1]);
},
child: const Text('切换')),
ElevatedButton(
onPressed: () async {
final phone2Glyph = Phone2Glyph();
await phone2Glyph.animate(
channels: [Phone2Led.a1, Phone2Led.a2, Phone2Led.c1_1],
duration: const Duration(seconds: 5),
cycles: 5,
intervalDuration: 10,
);
},
child: const Text('动画')),
ElevatedButton(
onPressed: () async {
final phone2Glyph = Phone2Glyph();
await phone2Glyph.animate(
channels: [Phone2Led.a2, Phone2Led.c2, Phone2Led.c3],
duration: const Duration(milliseconds: 500),
cycles: 5,
intervalDuration: 1,
);
},
child: const Text('复杂动画'))
],
),
),
),
);
}
}
更多关于Flutter字体图标管理插件flutter_glyph_kit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter字体图标管理插件flutter_glyph_kit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个关于如何使用 flutter_glyph_kit
插件来管理 Flutter 应用中的字体图标的代码示例。这个插件允许你从字体文件中提取图标,并在 Flutter 应用中使用它们。
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 flutter_glyph_kit
依赖:
dependencies:
flutter:
sdk: flutter
flutter_glyph_kit: ^x.y.z # 请替换为最新版本号
然后运行 flutter pub get
来安装依赖。
2. 准备字体文件
将你的字体文件(例如 MaterialIcons-Regular.ttf
)放置在 assets/fonts/
目录下,并在 pubspec.yaml
中声明它:
flutter:
assets:
- assets/fonts/MaterialIcons-Regular.ttf
3. 使用 flutter_glyph_kit
下面是一个完整的 Flutter 应用示例,展示如何使用 flutter_glyph_kit
插件来加载和使用字体图标。
import 'package:flutter/material.dart';
import 'package:flutter_glyph_kit/flutter_glyph_kit.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Glyph Kit Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
final GlyphKit _glyphKit;
MyHomePage() : _glyphKit = GlyphKit(
fontFamily: 'MaterialIcons', // 字体名称(必须与字体文件中的名称匹配)
fontPackage: null, // 如果字体文件在项目的 assets 文件夹中,则设置为 null
);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Glyph Kit Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(
// 使用 GlyphWidget 来显示字体图标
_glyphKit.icon(0xe87c), // 0xe87c 是 "home" 图标的 Unicode 码点
size: 48,
color: Colors.blue,
),
SizedBox(height: 20),
Text(
'Home Icon',
style: TextStyle(fontSize: 24),
),
],
),
),
);
}
}
4. 获取图标的 Unicode 码点
要获取特定图标的 Unicode 码点,你可以参考字体文件的图标对照表,或者使用在线工具来查找。例如,对于 Material Icons,你可以在 Material Icons 网站上找到每个图标的名称和对应的 Unicode 码点。
5. 运行应用
确保所有步骤都正确无误后,运行你的 Flutter 应用。你应该会在屏幕上看到一个使用 flutter_glyph_kit
插件加载和显示的字体图标。
这个示例展示了如何使用 flutter_glyph_kit
插件来管理和显示字体图标。你可以根据需要扩展这个示例,以在你的 Flutter 应用中使用更多的字体图标。