QR.Flutter هي مكتبة رفرفة لتقديم رمز الاستجابة السريعة البسيطة والسريعة عبر عنصر واجهة مستخدم أو رسام مخصص.
من فضلك لا تقدم مشكلة عن "كيف أنا ..؟" أو "ما هي الصفقة ..؟" اكتب السؤال. سيتم إغلاقها إلى حد كبير على الفور. إذا كانت لديك أسئلة ، فيرجى طرحها على لوحة المناقشات أو في سعة مكدس. سوف يتم الرد عليها هناك.
يؤدي استخدام المشكلات إلى إنشاء كمية كبيرة من الضوضاء ويؤدي إلى إصلاح مشكلات حقيقية أبطأ.
توافق الإصدار : 4.0.0+ يدعم السلامة الفارغة ويتطلب إصدارًا من الرفرفة متوافق. إذا كنت تستخدم إصدارًا غير متوافق من Flutter ، فيرجى استخدام إصدار 3.x من هذه المكتبة.
يجب عليك إضافة ما يلي إلى ملف pubspec.yaml الخاص بك:
dependencies :
qr_flutter : ^4.1.0 ملاحظة : إذا كنت تستخدم القناة master Flutter ، إذا واجهت مشكلات في الإنشاء ، أو ترغب في تجربة أحدث وأكبر ، فيجب عليك استخدام الفرع master وليس إصدار إصدار محدد. للقيام بذلك ، استخدم التكوين التالي في pubspec.yaml :
dependencies :
qr_flutter :
git :
url : https://github.com/theyakka/qr.flutter ضع في اعتبارك أن الفرع master يمكن أن يكون غير مستقر.
بعد إضافة التبعية إلى pubspec.yaml يمكنك تشغيل: flutter packages get أو تحديث الحزم الخاصة بك باستخدام IDE الخاص بك.
للبدء ، استيراد التبعية في الكود الخاص بك:
import 'package:qr_flutter/qr_flutter.dart' ;بعد ذلك ، لتقديم رمز QR أساسي ، يمكنك استخدام الكود التالي (أو شيء من هذا القبيل):
QrImageView (
data : '1234567890' ,
version : QrVersions .auto,
size : 200.0 ,
),اعتمادًا على متطلبات البيانات الخاصة بك ، قد ترغب في تعديل إخراج رمز الاستجابة السريعة. الخيارات التالية متوفرة:
| ملكية | يكتب | وصف |
|---|---|---|
version | int | QrVersions.auto أو قيمة بين 1 و 40. انظر http://www.qrcode.com/en/about/version.html للحصول على القيود والتفاصيل. |
errorCorrectionLevel | int | قيمة محددة على QrErrorCorrectLevel . على سبيل المثال: QrErrorCorrectLevel.L . |
size | مزدوج | حجم (مربع) الصورة. إذا لم يتم تقديمه ، فهل سيحجم حجم قيود أقصر الحجم. |
padding | Edesinsets | الحشو المحيط ببيانات رمز الاستجابة السريعة. |
backgroundColor | لون | لون الخلفية (الافتراضي هو لا شيء). |
eyeStyle | Qreyestyle | تكوين شكل رمز QR '(الزوايا ") واللون. |
dataModuleStyle | qrdatamodulestyle | تكوين الشكل ولون النقاط. |
gapless | بول | يضيف حجم بكسل إضافي لمنع الفجوات (الافتراضي صحيح). |
errorStateBuilder | QrerrorBuilder | يتيح لك إظهار Widget لحالة الخطأ في حالة وجود خطأ في تقديم رمز الاستجابة السريعة (على سبيل المثال: الإصدار منخفض جدًا ، والإدخال طويل جدًا ، إلخ). |
constrainErrorBounds | بول | إذا كان ذلك صحيحًا ، فسيتم تقييد Widget المستخدم على المربع بأن رمز الاستجابة السريعة سيتم رسمه. إذا كان خطأ ، فستنمو Widget الخطأ/تقلص/تقلص إلى أي حجم يحتاج إليه. |
embeddedImage | ImageProvider | صورة ImageProvider التي تحدد صورة ليتم تراكبها في مركز رمز الاستجابة السريعة. |
embeddedImageStyle | qrembeddedimestyle | خصائص لتصميم الصورة المدمجة. |
embeddedImageEmitsError | بول | إذا كان هذا صحيحًا ، فإن أي فشل في تحميل الصورة المدمجة سيؤدي إلى قيام errorStateBuilder أو تقديم Container فارغة. إذا كان خطأ ، فسيتم تقديم رمز الاستجابة السريعة وسيتم تجاهل الصورة المدمجة. |
semanticsLabel | خيط | سيتم استخدام semanticsLabel من قبل قراء الشاشة لوصف محتوى رمز الاستجابة السريعة. |
borderRadius | مزدوج | إعداد زاوية حول أنواع الأشكال QrEyeShape.square ، QrDataModuleShape.square ، EmbeddedImageShape.square . تعيين في الأساليب المناسبة. |
roundedOutsideCorners | بول | إذا كان هذا صحيحًا ، يتم تقريب الزوايا الخارجية للبيانات. تعيين إلى QrDataModuleStyle . تقريب إلى borderRadius بشكل افتراضي. فقط QrDataModuleShape.square . |
outsideBorderRadius | مزدوج | يتم تعيينه إذا كان التقريب الخارجي outsideBorderRadius يختلف عن borderRadius الداخلية. ليس أكثر من borderRadius . فقط QrDataModuleShape.square |
gradient | التدرج | تغيير اللون الصلب للرمز إلى التدرج ، على سبيل المثال LinearGradient . |
safeArea | بول | إذا كان ذلك صحيحًا ، يتم إخفاء البيانات خلف embeddedImage . تعيين إلى QrEmbeddedImageStyle . |
safeAreaMultiplier | مزدوج | مضاعف حجم safeArea . |
يوجد تطبيق Flutter بسيط ، يعمل ، مثال على دليل /example . يمكنك استخدامه للعب مع جميع الخيارات.
أيضًا ، تمنحك الأمثلة التالية نظرة عامة سريعة على كيفية استخدام المكتبة.
سيبدو رمز الاستجابة السريعة الأساسية مثل:
QrImageView (
data : 'This is a simple QR code' ,
version : QrVersions .auto,
size : 320 ,
gapless : false ,
)سيبدو رمز الاستجابة السريعة مع صورة (من أصول التطبيق):
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 ),
),
)لإظهار حالة خطأ في حالة عدم التحقق من صحة رمز الاستجابة السريعة:
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,
),
),
);
},
)رمز الاستجابة السريعة مع زوايا داخلية وخارجية حولها ومنطقة آمنة من الصورة المضمنة:
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 ,
),
)رمز الاستجابة السريعة مع التدرج:
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 ),
],
),
)بفضل Kevin Moore على مكتبة QR - Dart الرائعة. إنها جوهر هذه المكتبة.
للحصول على معلومات المؤلف/المساهم ، راجع ملف AUTHORS .
يتم إصدار QR.Flutter بموجب ترخيص BSD-3. انظر LICENSE للحصول على التفاصيل.