QR.Floutter ist eine Flutterbibliothek für das einfache und schnelle QR -Code -Rendering über einen Widget oder einen benutzerdefinierten Maler.
Bitte geben Sie kein Problem für ein "Wie mache ich ..?" oder "Was ist der Deal ...?" Geben Sie Frage ein. Sie werden so ziemlich sofort geschlossen sein. Wenn Sie Fragen haben, stellen Sie sie bitte im Diskussionsbehörde oder im Stapelüberlauf. Sie werden dort beantwortet.
Die Verwendung von Problemen erzeugt eine große Menge an Lärm und führt dazu, dass echte Probleme langsamer werden.
Versionskompatibilität : 4.0.0+ unterstützt die Nullsicherheit und erfordert eine kompatible Flutter -Version. Wenn Sie eine inkompatible Version von Flutter verwenden, verwenden Sie bitte eine 3.x -Version dieser Bibliothek.
Sie sollten Folgendes zu Ihrer pubspec.yaml -Datei hinzufügen:
dependencies :
qr_flutter : ^4.1.0 Hinweis : Wenn Sie den Flutter master -Kanal verwenden, wenn Sie auf Build -Probleme stoßen oder die neueste und größte versuchen möchten, sollten Sie den master -Zweig und keine bestimmte Versionsversion verwenden. Verwenden Sie dazu die folgende Konfiguration in Ihrem pubspec.yaml :
dependencies :
qr_flutter :
git :
url : https://github.com/theyakka/qr.flutter Denken Sie daran, dass der master -Zweig instabil sein könnte.
Nachdem Sie die Abhängigkeit zu Ihrem pubspec.yaml hinzugefügt haben, können Sie ausführen: flutter packages get oder aktualisieren Ihre Pakete mit Ihrer IDE.
Importieren Sie zunächst die Abhängigkeit in Ihren Code:
import 'package:qr_flutter/qr_flutter.dart' ;Um einen grundlegenden QR -Code zu rendern, können Sie den folgenden Code (oder ähnliches) verwenden:
QrImageView (
data : '1234567890' ,
version : QrVersions .auto,
size : 200.0 ,
),Abhängig von Ihren Datenanforderungen möchten Sie möglicherweise die QR -Codeausgabe optimieren. Die folgenden Optionen sind verfügbar:
| Eigentum | Typ | Beschreibung |
|---|---|---|
version | int | QrVersions.auto oder ein Wert zwischen 1 und 40. Weitere Einschränkungen und Details finden Sie unter http://www.qrcode.com/en/about/version.html. |
errorCorrectionLevel | int | Ein Wert, der auf QrErrorCorrectLevel definiert ist. EG: QrErrorCorrectLevel.L . |
size | doppelt | Die (quadratische) Größe des Bildes. Wenn nicht angegeben, wird die automatische Größe unter Verwendung der kürzesten Größenbeschränkung. |
padding | Kantensets | Polsterung der QR -Codedaten. |
backgroundColor | Farbe | Die Hintergrundfarbe (Standard ist keine). |
eyeStyle | Qreyestyle | Konfiguriert die Form und Farbe der QR Code Eyes '(Ecken'). |
dataModuleStyle | Qrdatamodulestyle | Konfiguriert die Form und die Farbe der Punkte. |
gapless | bool | Fügt ein zusätzliches Pixel an, um Lücken zu verhindern (Standard ist wahr). |
errorStateBuilder | Qrerrorbuilder | Ermöglicht Ihnen, im Ereignis ein Fehlerstatus Widget anzuzeigen. Es gibt einen Fehler, der den QR -Code rendert (z. B. die Version ist zu niedrig, die Eingabe ist zu lang usw.). |
constrainErrorBounds | bool | Wenn der Widget der Fehler auf das Quadrat beschränkt wird, dass der QR -Code angezogen wird. Wenn falsch, wächst das Widget des Fehlerstatus zu jeder Größe, die er benötigt. |
embeddedImage | ImageProvider | Ein ImageProvider , der ein Bild definiert, das in der Mitte des QR -Codes überlagert werden soll. |
embeddedImageStyle | Qrembededimagestyle | Eigenschaften, um das eingebettete Bild zu stylen. |
embeddedImageEmitsError | bool | Wenn das eingebettete Bild nicht geladen wird, löst ein Versäumnis des errorStateBuilder aus oder macht einen leeren Container . Wenn falsch, wird der QR -Code gerendert und das eingebettete Bild wird ignoriert. |
semanticsLabel | Saite | semanticsLabel wird von Bildschirmlesern verwendet, um den Inhalt des QR -Codes zu beschreiben. |
borderRadius | doppelt | Setzen Sie die Eckrundung für Formtypen QrEyeShape.square , QrDataModuleShape.square , EmbeddedImageShape.square . In geeigneten Stilen einstellen. |
roundedOutsideCorners | bool | Wenn wahr, werden die äußeren Ecken der Daten abgerundet. Auf QrDataModuleStyle eingestellt. Standardmäßig nach borderRadius abgerundet. Nur QrDataModuleShape.square . |
outsideBorderRadius | doppelt | Es ist festgelegt, wenn sich die äußere Rundung outsideBorderRadius von dem inneren borderRadius unterscheiden sollte. Nicht mehr als borderRadius . Nur QrDataModuleShape.square |
gradient | Gradient | Ändern der festen Farbe des Code in einen Gradienten, z. B. LinearGradient . |
safeArea | bool | Wenn es wahr ist, sind Daten hinter dem embeddedImage versteckt. Auf QrEmbeddedImageStyle eingestellt. |
safeAreaMultiplier | doppelt | Multiplikator safeArea -Größe. |
Es gibt eine einfache, funktionierende, Beispielflattern -App im /example . Sie können es verwenden, um mit allen Optionen zu spielen.
Die folgenden Beispiele geben Ihnen auch einen kurzen Überblick über die Verwendung der Bibliothek.
Ein grundlegender QR -Code sieht ungefähr aus:
QrImageView (
data : 'This is a simple QR code' ,
version : QrVersions .auto,
size : 320 ,
gapless : false ,
)Ein QR -Code mit einem Bild (aus dem Vermögen Ihrer Anwendung) sieht aus wie:
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 ),
),
)Um einen Fehlerstatus zu zeigen, in dem der QR -Code nicht validiert werden kann:
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,
),
),
);
},
)Ein QR -Code mit Innen- und Außenecken runding und sicherer Bereich des eingebetteten Bildes:
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 ,
),
)Ein QR -Code mit Gradienten:
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 ),
],
),
)Vielen Dank an Kevin Moore für seine fantastische QR -Dart -Bibliothek. Es ist der Kern dieser Bibliothek.
Informationen zum Autor/Mitwirkenden finden Sie in der AUTHORS -Datei.
QR.Floutter wird unter einer BSD-3-Lizenz veröffentlicht. Weitere Informationen finden Sie LICENSE .