Qr.flutter es una biblioteca de Flutter para la representación de código QR simple y rápida a través de un widget o pintor personalizado.
Por favor, no envíe un problema para un "¿cómo yo ...?" o "¿Cuál es el trato ...?" Tipo de pregunta. Casi serán cerrados al instante. Si tiene preguntas, pregúnteles en el tablero de discusiones o en el desbordamiento de pila. Ellos serán respondidos allí.
El uso de problemas crea una gran cantidad de ruido y resulta en problemas reales que se solucionan más lentamente.
Compatibilidad de la versión : 4.0.0+ admite la seguridad nula y requiere una versión de Flutter que sea compatible. Si está utilizando una versión incompatible de Flutter, utilice una versión 3.x de esta biblioteca.
Debe agregar lo siguiente a su archivo pubspec.yaml :
dependencies :
qr_flutter : ^4.1.0 Nota : Si está utilizando el canal Flutter master , si encuentra problemas de compilación, o desea probar lo último y lo mejor, debe usar la rama master y no una versión de lanzamiento específica. Para hacerlo, use la siguiente configuración en su pubspec.yaml :
dependencies :
qr_flutter :
git :
url : https://github.com/theyakka/qr.flutter Tenga en cuenta que la rama master podría ser inestable.
Después de agregar la dependencia a su pubspec.yaml , puede ejecutar: flutter packages get o actualizan sus paquetes usando su IDE.
Para comenzar, importe la dependencia en su código:
import 'package:qr_flutter/qr_flutter.dart' ;A continuación, para representar un código QR básico, puede usar el siguiente código (o algo así):
QrImageView (
data : '1234567890' ,
version : QrVersions .auto,
size : 200.0 ,
),Dependiendo de sus requisitos de datos, es posible que desee ajustar la salida del código QR. Las siguientes opciones están disponibles:
| Propiedad | Tipo | Descripción |
|---|---|---|
version | intencionalmente | QrVersions.auto o un valor entre 1 y 40. Consulte http://www.qrcode.com/en/about/version.html para obtener limitaciones y detalles. |
errorCorrectionLevel | intencionalmente | Un valor definido en QrErrorCorrectLevel . por ejemplo: QrErrorCorrectLevel.L . |
size | doble | El tamaño (cuadrado) de la imagen. Si no se da, el tamaño automático utilizando la restricción de tamaño más corto. |
padding | Bordes | Relleno que rodea los datos del código QR. |
backgroundColor | Color | El color de fondo (el valor predeterminado es ninguno). |
eyeStyle | Qreyestyle | Configura la forma y el color de los ojos del código QR '(esquinas'). |
dataModuleStyle | Qrdatamodulestyle | Configura la forma y el color de los puntos. |
gapless | bool | Agrega un tamaño de píxel adicional para evitar brechas (el valor predeterminado es verdadero). |
errorStateBuilder | QrerrorBuilder | Le permite mostrar un Widget de estado de error en caso de que haya un error que representa el código QR (por ejemplo: la versión es demasiado baja, la entrada es demasiado larga, etc.). |
constrainErrorBounds | bool | Si es verdadero, el Widget de error se limitará al cuadrado en el que el código QR iba a dibujar. Si es falso, el Widget de estado de error crecerá/encogerá a cualquier tamaño que necesite. |
embeddedImage | ImageProvider | Un ImageProvider que define una imagen que se superpone en el centro del código QR. |
embeddedImageStyle | Qrembeddedimagestyle | Propiedades para diseñar la imagen incrustada. |
embeddedImageEmitsError | bool | Si es verdadero, cualquier falla en cargar la imagen incrustada activará el errorStateBuilder o representará un Container vacío. Si falsa, el código QR se representará y la imagen incrustada se ignorará. |
semanticsLabel | Cadena | semanticsLabel será utilizado por los lectores de pantalla para describir el contenido del código QR. |
borderRadius | doble | Configuración del redondeo de la esquina para los tipos de forma QrEyeShape.square , QrDataModuleShape.square , EmbeddedImageShape.square . Establecido en estilos apropiados. |
roundedOutsideCorners | bool | Si es cierto, las esquinas externas de los datos se redondean. Establecido en QrDataModuleStyle . Redondeado a borderRadius por defecto. Solo QrDataModuleShape.square . |
outsideBorderRadius | doble | Se establece si el redondeo externo outsideBorderRadius debe diferir del borderRadius interno. No más que borderRadius . Solo QrDataModuleShape.square |
gradient | Gradiente | Cambiar el color sólido del código a un gradiente, por ejemplo, LinearGradient . |
safeArea | bool | Si es cierto, los datos están ocultos detrás de la embeddedImage . Establecido en QrEmbeddedImageStyle . |
safeAreaMultiplier | doble | Multiplicador de tamaño safeArea . |
Hay una aplicación de flutador de ejemplo simple, de ejemplo, en el directorio /example . Puedes usarlo para jugar con todas las opciones.
Además, los siguientes ejemplos le dan una visión general rápida sobre cómo usar la biblioteca.
Un código QR básico se verá como:
QrImageView (
data : 'This is a simple QR code' ,
version : QrVersions .auto,
size : 320 ,
gapless : false ,
)Se verá un código QR con una imagen (de los activos de su aplicación):
QrImageView (
data : 'This QR code has an embedded image as well' ,
version : QrVersions .auto,
size : 320 ,
gapless : false ,
embeddedImage : AssetImage ( 'assets/images/my_embedded_image.png' ),
embeddedImageStyle : QrEmbeddedImageStyle (
size : Size ( 80 , 80 ),
),
)Para mostrar un estado de error en caso de que el código QR no se pueda validar:
QrImageView (
data : 'This QR code will show the error state instead' ,
version : 1 ,
size : 320 ,
gapless : false ,
errorStateBuilder : (cxt, err) {
return Container (
child : Center (
child : Text (
'Uh oh! Something went wrong...' ,
textAlign : TextAlign .center,
),
),
);
},
)Un código QR con redondeo interno y exterior de las esquinas y el área segura de la imagen incrustada:
QrImageView (
data : 'London is the capital of Great Britain' ,
version : QrVersions .auto,
size : 320 ,
eyeStyle : const QrEyeStyle (
borderRadius : 10 ,
),
dataModuleStyle : const QrDataModuleStyle (
borderRadius : 5 ,
roundedOutsideCorners : true ,
),
embeddedImage : AssetImage ( 'assets/images/my_embedded_image.png' ),
embeddedImageStyle : QrEmbeddedImageStyle (
size : Size . square ( 40 ),
color : Colors .white,
safeArea : true ,
safeAreaMultiplier : 1.1 ,
embeddedImageShape : EmbeddedImageShape .square,
borderRadius : 10 ,
),
)Un código QR con gradiente:
QrImageView (
data : 'Rainbow after the rain' ,
version : QrVersions .auto,
size : 320 ,
gradient : LinearGradient (
begin : Alignment .bottomLeft,
end : Alignment .topRight,
colors : [
Color ( 0xffff0000 ),
Color ( 0xffffa500 ),
Color ( 0xffffff00 ),
Color ( 0xff008000 ),
Color ( 0xff0000ff ),
Color ( 0xff4b0082 ),
Color ( 0xffee82ee ),
],
),
)Gracias a Kevin Moore por su increíble Biblioteca QR - Dart. Es el núcleo de esta biblioteca.
Para la información del autor/contribuyente, consulte el archivo AUTHORS .
Qr.flutter se libera bajo una licencia BSD-3. Vea LICENSE para más detalles.