QR.Flutter adalah perpustakaan flutter untuk rendering kode QR sederhana dan cepat melalui widget atau pelukis khusus.
Tolong jangan mengirimkan masalah untuk "Bagaimana cara saya ..?" atau "Apa masalahnya ..?" Ketik pertanyaan. Mereka akan ditutup secara instan. Jika Anda memiliki pertanyaan, silakan tanyakan pada papan diskusi atau di Stack Overflow. Mereka akan dijawab di sana.
Menggunakan masalah menciptakan sejumlah besar kebisingan dan menghasilkan masalah nyata menjadi tetap lebih lambat.
Kompatibilitas Versi : 4.0.0+ Mendukung keselamatan nol dan membutuhkan versi flutter yang kompatibel. Jika Anda menggunakan versi flutter yang tidak kompatibel, silakan gunakan versi 3.x dari perpustakaan ini.
Anda harus menambahkan yang berikut ke file pubspec.yaml Anda:
dependencies :
qr_flutter : ^4.1.0 Catatan : Jika Anda menggunakan saluran master Flutter, jika Anda menemukan masalah membangun, atau ingin mencoba yang terbaru dan terhebat maka Anda harus menggunakan cabang master dan bukan versi rilis tertentu. Untuk melakukannya, gunakan konfigurasi berikut di pubspec.yaml Anda:
dependencies :
qr_flutter :
git :
url : https://github.com/theyakka/qr.flutter Perlu diingat cabang master bisa tidak stabil.
Setelah menambahkan ketergantungan ke pubspec.yaml Anda, Anda dapat menjalankan: flutter packages get atau memperbarui paket Anda menggunakan IDE Anda.
Untuk memulai, impor ketergantungan dalam kode Anda:
import 'package:qr_flutter/qr_flutter.dart' ;Selanjutnya, untuk membuat kode QR dasar Anda dapat menggunakan kode berikut (atau sesuatu seperti itu):
QrImageView (
data : '1234567890' ,
version : QrVersions .auto,
size : 200.0 ,
),Bergantung pada persyaratan data Anda, Anda mungkin ingin mengubah output kode QR. Opsi berikut tersedia:
| Milik | Jenis | Keterangan |
|---|---|---|
version | int | QrVersions.auto atau nilai antara 1 dan 40. Lihat http://www.qrcode.com/en/about/version.html untuk batasan dan detail. |
errorCorrectionLevel | int | Nilai yang didefinisikan pada QrErrorCorrectLevel . misalnya: QrErrorCorrectLevel.L . |
size | dobel | Ukuran (persegi) gambar. Jika tidak diberikan, ukuran otomatis akan menggunakan kendala ukuran terpendek. |
padding | Edgeinsets | Padding mengelilingi data kode QR. |
backgroundColor | Warna | Warna latar belakang (default tidak ada). |
eyeStyle | Qreyestyle | Mengkonfigurasi bentuk dan warna mata QR '(sudut'). |
dataModuleStyle | Qrdatamodulestyle | Mengkonfigurasi bentuk dan warna titik -titik. |
gapless | bool | Menambahkan ukuran piksel tambahan untuk mencegah celah (default benar). |
errorStateBuilder | QrerrorBuilder | Memungkinkan Anda untuk menunjukkan Widget keadaan kesalahan jika ada kesalahan yang membuat kode QR (misalnya: Versi terlalu rendah, input terlalu panjang, dll). |
constrainErrorBounds | bool | Jika benar, Widget kesalahan akan dibatasi ke kuadrat yang akan ditarik oleh kode QR. Jika salah, Widget keadaan kesalahan akan tumbuh/menyusut ke ukuran apa pun yang dibutuhkannya. |
embeddedImage | ImageProvider | ImageProvider yang mendefinisikan gambar untuk dilapis di tengah kode QR. |
embeddedImageStyle | Qrembeddedimagestyle | Properti untuk menata gambar tertanam. |
embeddedImageEmitsError | bool | Jika benar, setiap kegagalan untuk memuat gambar tertanam akan memicu errorStateBuilder atau membuat Container kosong. Jika salah, kode QR akan diterjemahkan dan gambar tertanam akan diabaikan. |
semanticsLabel | Rangkaian | semanticsLabel akan digunakan oleh pembaca layar untuk menggambarkan konten kode QR. |
borderRadius | dobel | Pengaturan sudut pembulatan untuk jenis bentuk QrEyeShape.square , QrDataModuleShape.square , EmbeddedImageShape.square . Diatur dengan gaya yang sesuai. |
roundedOutsideCorners | bool | Jika benar, sudut luar data dibulatkan. Diatur ke QrDataModuleStyle . Dibulir ke borderRadius secara default. Hanya QrDataModuleShape.square . |
outsideBorderRadius | dobel | Diatur jika pembulatan luar outsideBorderRadius harus berbeda dari bagian dalam satu borderRadius . Tidak lebih dari borderRadius . Hanya QrDataModuleShape.square |
gradient | Gradien | Mengubah warna solid kode menjadi gradien, misalnya LinearGradient . |
safeArea | bool | Jika benar, data disembunyikan di balik embeddedImage . Diatur ke QrEmbeddedImageStyle . |
safeAreaMultiplier | dobel | Ukuran safeArea Pengganda. |
Ada aplikasi flutter yang sederhana, berfungsi, di direktori /example . Anda dapat menggunakannya untuk bermain dengan semua opsi.
Juga, contoh -contoh berikut memberi Anda gambaran cepat tentang cara menggunakan perpustakaan.
Kode QR dasar akan terlihat seperti:
QrImageView (
data : 'This is a simple QR code' ,
version : QrVersions .auto,
size : 320 ,
gapless : false ,
)Kode QR dengan gambar (dari aset aplikasi Anda) akan terlihat seperti:
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 ),
),
)Untuk menunjukkan keadaan kesalahan jika kode QR tidak dapat divalidasi:
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,
),
),
);
},
)Kode QR dengan sudut di dalam dan luar bulat dan area aman dari gambar tertanam:
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 ,
),
)Kode QR dengan gradien:
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 ),
],
),
)Terima kasih kepada Kevin Moore untuk perpustakaan QR - Dart -nya yang luar biasa. Ini adalah inti dari perpustakaan ini.
Untuk informasi penulis/kontributor, lihat file AUTHORS .
QR.Flutter dirilis di bawah lisensi BSD-3. Lihat LICENSE untuk detailnya.