天天饱

如果你只做自己能力范围之内的事情,就永远没法进步

Flutter生成带图片的二维码

现在的APP中经常需要用自己的信息生成一个二维码给别人扫,下面就介绍一下Flutter中怎么生成一个带图片的二维码。

需要用到的插件qr_flutter

首先在 pubspec.yaml 文件中添加以下依赖,添加依赖后在 pubspec.yaml 运行 flutter packages get 或 使用IDE更新软件包。

dependencies:
  qr_flutter: ^3.0.1

  

完成以上步骤之后就可以在你需要生成二维码的页面引用qr_flutter

import 'package:qr_flutter/qr_flutter.dart';

  

在生成二维码之前先看一下它的api

 

属性类型描述
version int QrVersions.auto或者介于1和40之间的值。有关限制和详细信息,访问http://www.qrcode.com/en/about/version.html
errorCorrectionLevel int 定义的值QrErrorCorrectLevel例如:QrErrorCorrectLevel.L
size double 二维码的(方形)大小。如果没有给出,将使用最短大小约束自动调整大小。
padding EdgeInsets 填充二维码内边距。
backgroundColor Color 背景颜色(默认为无)。
foregroundColor Color 前景色(默认为黑色)。
gapless bool 添加一个额外的像素以防止间隙(默认为true)。
errorStateBuilder QrErrorBuilder 允许您Widget在呈现QR码时出现错误时显示错误状态(例如:版本太低,输入太长等)。
constrainErrorBounds bool 如果为true,则错误Widget将被限制为将要绘制QR码的平方。如果为false,则错误状态Widget将增大/缩小到所需的任何大小。
embeddedImage ImageProvider ImageProvider限定的图像以在QR码的中心重叠。
embeddedImageStyle QrEmbeddedImageStyle 用于设置嵌入图像样式的属性。
embeddedImageEmitsError bool 如果为true,则任何加载嵌入图像的失败都将触发errorStateBuilder或呈现为空Container如果为false,则将呈现QR码,并且将忽略嵌入的图像。

 

通过上面给出的参数,生成一个大小200,图片大小30的二维码

Center(
  child: QrImage(
    data: '这是二维码的内容',
    size: 200,
    embeddedImage: NetworkImage('https://img2.woyaogexing.com/2019/09/06/f9afde08c5a4460cb08389a6c7f74c7a!600x600.jpeg'),
    embeddedImageStyle: QrEmbeddedImageStyle(
      size: Size(30, 30),
    ),
  ),
)

  

效果图如下

posted @ 2019-09-06 17:02  天天饱  阅读(3773)  评论(0编辑  收藏  举报