Flutter图标生成插件jazzicon的使用
Flutter图标生成插件jazzicon的使用
描述
此包包含如何生成标识符。 标识符通常用作钱包或加密货币头像。它具有唯一性,因为它是根据你的地址生成的。
MetaMask
Widget 和 JazziconData()
添加钱包/硬币地址列表。确保地址有效。
Jazzicon.getIconWidget
需要 JazziconData
。你可以通过调用 Jazzicon.getJazziconData()
来创建 JazziconData
。
示例:
Jazzicon.getIconWidget(Jazzicon.getJazziconData(
160,
address: "0xfe3526e15Bd6dAD0796B84bEb548b603B6B6E444"))
结果:
如果你输入错误的代码,例如: 不要这样做
Jazzicon.getIconWidget(Jazzicon.getJazziconData(
160,
address: "random string here"))
错误结果
注意:如果地址无效,图像将返回灰色图像。
有效的地址示例。如果你想查看更多使用方法,可以查看 示例。
List<String> addresslist = [
"0x123C3F273bE7d218A6Ab040D421b51237945ce11",
"0x576C3F273bE7d218A6Eb040D421b51237945ce10",
"0xEB8D9FDcf121bbae84c4E91aE47E9348c367c7F4",
"0xb9bd886414b2d37b73c1266ebcb9d7f5fdb7383b",
"0xb934F4294Df760290e969F355C107752400150bB",
"0x318406407ea60F2E1C305bEd64Fb4A9db72AA6bD",
"0x07Becc171101448476ABF27C1f73989F945A0742",
"0xfe3526e15Bd6dAD0796B84bEb548b603B6B6E444",
];
示例
开放贡献者
示例代码
import 'package:flutter/material.dart';
import 'package:jazzicon/jazziconshape.dart';
import 'package:jazzicon/jazzicon.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(
title: 'Flutter Demo',
theme: ThemeData(
// 这是你的应用的主题。
//
// 尝试运行你的应用。你会看到应用有一个蓝色工具栏。然后,不退出应用,试着将以下的主色调改为绿色并执行“热重载”(在你运行“flutter run”的控制台中按“r”,或者简单地保存你的更改以实现“热重载”)。请注意,计数器并没有重置回零;应用并没有重新启动。
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
// 这个小部件是你应用的首页。它是一个有状态的小部件,意味着它有一个状态对象(定义在下面),该状态对象包含影响其外观的字段。
// 这个类是状态的配置。它保存了由父组件(在这个例子中是App小部件)提供的值(在这个例子中是标题)并用于State的构建方法。在小部件子类中声明的字段总是被标记为“final”。
final String title;
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
JazziconData? jd;
List<String> addresslist = [
"0x123C3F273bE7d218A6Ab040D421b51237945ce11",
"0x576C3F273bE7d218A6Eb040D421b51237945ce10",
"0xEB8D9FDcf121bbae84c4E91aE47E9348c367c7F4",
"0xb9bd886414b2d37b73c1266ebcb9d7f5fdb7383b",
"0xb934F4294Df760290e969F355C107752400150bB",
"0x318406407ea60F2E1C305bEd64Fb4A9db72AA6bD",
"0x07Becc171101448476ABF27C1f73989F945A0742",
"0xfe3526e15Bd6dAD0796B84bEb548b603B6B6E444",
];
List<JazziconData> jdlist = [];
[@override](/user/override)
void initState() {
super.initState();
// jd = Jazzicon.getJazziconData(200, address: "0x85CddC7f65410E9Cb94D959Ac57405ee0EcBFBE3");
for (var address in addresslist) {
jdlist.add(Jazzicon.getJazziconData(160, address: address));
}
}
void _incrementCounter() {
setState(() {});
}
[@override](/user/override)
Widget build(BuildContext context) {
// 每次调用setState时都会重新运行此方法,例如上面的_incrementCounter方法所做的那样。
//
// Flutter框架已经被优化为使重建方法快速运行,因此你可以重建任何需要更新的内容而不是个别改变小部件实例。
return Scaffold(
appBar: AppBar(
// 在这里我们从MyHomePage对象中获取值,该对象是由App.build方法创建的,并将其用于设置我们的应用栏标题。
title: Text(widget.title),
),
body: Center(
child: Wrap(
spacing: 20,
runSpacing: 20,
children: jdlist.map((e) {
return Jazzicon.getIconWidget(e);
}).toList(),
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // 这个尾随的逗号使得自动格式化更美观。
);
}
}
更多关于Flutter图标生成插件jazzicon的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter图标生成插件jazzicon的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用jazzicon
插件来生成图标的示例代码。jazzicon
是一个用于生成独特且可识别图标的Flutter插件,常用于生成用户头像等场景。
1. 添加依赖
首先,在你的pubspec.yaml
文件中添加jazzicon
依赖:
dependencies:
flutter:
sdk: flutter
jazzicon: ^最新版本号 # 请替换为实际的最新版本号
然后运行flutter pub get
来安装依赖。
2. 导入包
在你的Dart文件中导入jazzicon
包:
import 'package:jazzicon/jazzicon.dart';
3. 使用Jazzicon生成图标
下面是一个简单的示例,演示如何使用Jazzicon
生成并显示图标:
import 'package:flutter/material.dart';
import 'package:jazzicon/jazzicon.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Jazzicon Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Jazzicon Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
// 使用Jazzicon生成图标
JazzIcon(
seed: 'user123', // 种子值,用于生成唯一的图标
size: 100, // 图标大小
),
SizedBox(height: 20),
// 使用JazzIcon.builder生成图标,支持更多自定义
JazzIcon.builder(
seed: 'user456',
size: 100,
builder: (context, painter) {
return CustomPaint(
painter: painter,
size: Size(100, 100),
child: Container(
decoration: BoxDecoration(
border: Border.all(color: Colors.grey, width: 2),
borderRadius: BorderRadius.circular(50),
),
),
);
},
),
],
),
),
),
);
}
}
解释
- 依赖导入:在
pubspec.yaml
中添加jazzicon
依赖,并在Dart文件中导入它。 - JazzIcon组件:使用
JazzIcon
组件生成图标,通过seed
参数指定种子值,通过size
参数指定图标大小。 - JazzIcon.builder:使用
JazzIcon.builder
可以自定义图标的绘制,比如添加边框等。
运行项目
确保所有文件保存后,运行你的Flutter项目:
flutter run
你应该能够在你的设备上看到一个带有Jazzicon图标的界面。通过改变seed
值,你可以生成不同的图标。
希望这个示例能帮助你理解如何在Flutter项目中使用jazzicon
插件生成图标。如果有其他问题,欢迎继续提问!