Flutter如何生成QR二维码
我想在Flutter应用中实现生成QR二维码的功能,但不太清楚具体该怎么做。请问有哪些推荐的Flutter库可以实现这个功能?能否提供一个简单的代码示例说明如何生成并显示二维码?生成的二维码能不能自定义颜色和大小?如果要在生成的二维码中添加Logo该怎样处理?
2 回复
使用qr_flutter库生成QR码。安装后,在pubspec.yaml添加依赖,然后使用QrImageView组件,传入data参数即可显示二维码。
更多关于Flutter如何生成QR二维码的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在 Flutter 中生成 QR 二维码,推荐使用 qr_flutter 库,它简单易用且功能丰富。以下是详细步骤:
1. 添加依赖
在 pubspec.yaml 的 dependencies 中添加:
dependencies:
qr_flutter: ^4.2.0
运行 flutter pub get 安装。
2. 基本用法
import 'package:qr_flutter/qr_flutter.dart';
// 在 Widget 中使用
QrImageView(
data: 'https://example.com', // 二维码内容
version: QrVersions.auto, // 自动选择版本
size: 200.0, // 尺寸
)
3. 自定义样式
QrImageView(
data: 'Hello QR Code!',
size: 200,
backgroundColor: Colors.white,
// 添加 Logo
embeddedImage: AssetImage('assets/logo.png'),
embeddedImageStyle: QrEmbeddedImageStyle(size: Size(40, 40)),
)
4. 高级配置
QrImageView(
data: 'Custom QR',
size: 200,
gapless: false, // 取消默认边距
padding: EdgeInsets.all(10),
eyeStyle: QrEyeStyle(
color: Colors.blue,
eyeShape: QrEyeShape.square,
),
dataModuleStyle: QrDataModuleStyle(
color: Colors.black,
dataModuleShape: QrDataModuleShape.circle,
),
)
注意事项:
- 内容长度影响二维码复杂度,过长可能无法识别
- 可结合
flutter_svg导出为 SVG 格式 - 测试时确保二维码能被标准扫描器识别
这是最常用的 QR 二维码生成方案,可满足绝大多数需求。如需更复杂功能(如动态生成),可查看库文档的进阶用法。

