qr.flutter เป็นไลบรารี flutter สำหรับการแสดงรหัส QR ที่เรียบง่ายและรวดเร็วผ่านวิดเจ็ตหรือจิตรกรที่กำหนดเอง
กรุณาอย่าส่งปัญหาสำหรับ "ฉันจะทำอย่างไร .. ?" หรือ "ข้อตกลงคืออะไร .. ?" พิมพ์คำถาม พวกเขาจะปิดตัวลงทันที หากคุณมีคำถามโปรดถามพวกเขาในคณะกรรมการสนทนาหรือในสแต็กล้น พวกเขาจะได้รับคำตอบที่นั่น
การใช้ปัญหาจะสร้างเสียงรบกวนจำนวนมากและผลลัพธ์ในปัญหาจริงที่ได้รับการแก้ไขช้าลง
ความเข้ากันได้ของเวอร์ชัน : 4.0.0+ รองรับความปลอดภัย NULL และต้องใช้เวอร์ชันของ Flutter ที่เข้ากันได้ หากคุณใช้ 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 ,
),ขึ้นอยู่กับข้อกำหนดข้อมูลของคุณคุณอาจต้องการปรับแต่งเอาต์พุตรหัส QR มีตัวเลือกต่อไปนี้:
| คุณสมบัติ | พิมพ์ | คำอธิบาย |
|---|---|---|
version | int | QrVersions.auto หรือค่าระหว่าง 1 ถึง 40 ดู http://www.qrcode.com/en/about/version.html สำหรับข้อ จำกัด และรายละเอียด |
errorCorrectionLevel | int | ค่าที่กำหนดไว้ใน QrErrorCorrectLevel เช่น: QrErrorCorrectLevel.L |
size | สองเท่า | ขนาด (สี่เหลี่ยม) ของภาพ หากไม่ได้รับจะมีขนาดอัตโนมัติโดยใช้ข้อ จำกัด ขนาดที่สั้นที่สุด |
padding | Edgeinsets | ช่องว่างภายในข้อมูลรหัส QR |
backgroundColor | สี | สีพื้นหลัง (ค่าเริ่มต้นคือไม่มี) |
eyeStyle | Qreyestyle | กำหนดค่ารูปทรงและสีของรหัส QR (มุม ') |
dataModuleStyle | qrdatamodulestyle | กำหนดค่ารูปร่างและสีของจุด |
gapless | บูล | เพิ่มขนาดพิกเซลพิเศษเพื่อป้องกันช่องว่าง (ค่าเริ่มต้นเป็นจริง) |
errorStateBuilder | qrerrorbuilder | ช่วยให้คุณแสดง Widget สถานะข้อผิดพลาดในกรณีที่มีข้อผิดพลาดทำให้รหัส QR (เช่น: เวอร์ชันต่ำเกินไปอินพุตยาวเกินไป ฯลฯ ) |
constrainErrorBounds | บูล | หากเป็นจริง Widget ข้อผิดพลาดจะถูก จำกัด ให้กับสแควร์ว่ารหัส QR กำลังจะถูกดึงเข้ามาหากเท็จ Widget เจ็ตสถานะข้อผิดพลาดจะเติบโต/หดตัวตามขนาดที่ต้องการ |
embeddedImage | ImageProvider | ImageProvider ที่กำหนดภาพที่จะซ้อนทับอยู่ตรงกลางของรหัส QR |
embeddedImageStyle | qrembeddedimagestyle | คุณสมบัติในการจัดสไตล์ภาพฝังตัว |
embeddedImageEmitsError | บูล | หากเป็นจริงความล้มเหลวในการโหลดอิมเมจที่ฝังตัวจะทำให้เกิด errorStateBuilder หรือแสดง Container ที่ว่างเปล่า หากเท็จรหัส QR จะถูกแสดงผลและภาพฝังตัวจะถูกละเว้น |
semanticsLabel | สาย | semanticsLabel จะถูกใช้โดยผู้อ่านหน้าจอเพื่ออธิบายเนื้อหาของรหัส QR |
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 คุณสามารถใช้มันเพื่อเล่นกับตัวเลือกทั้งหมด
นอกจากนี้ตัวอย่างต่อไปนี้จะให้ภาพรวมอย่างรวดเร็วเกี่ยวกับวิธีการใช้ห้องสมุด
รหัส QR พื้นฐานจะมีลักษณะเช่น:
QrImageView (
data : 'This is a simple QR code' ,
version : QrVersions .auto,
size : 320 ,
gapless : false ,
)รหัส QR ที่มีรูปภาพ (จากสินทรัพย์ของแอปพลิเคชันของคุณ) จะมีลักษณะ:
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 ),
),
)เพื่อแสดงสถานะข้อผิดพลาดในกรณีที่รหัส QR ไม่สามารถตรวจสอบได้:
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,
),
),
);
},
)รหัส QR ที่มีมุมภายในและภายนอกการปัดเศษและพื้นที่ปลอดภัยของภาพฝังตัว:
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 ,
),
)รหัส QR ที่มีการไล่ระดับสี:
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 สำหรับรายละเอียด