QR.Flutter - это библиотека Flutter для простого и быстрого QR -кода рендеринга через виджет или художник по индивидуальному заказу.
Пожалуйста, не отправляйте проблему для "Как мне ...?" или "Что такое сделка ..?" тип вопроса. Они в значительной степени будут закрыты мгновенно. Если у вас есть вопросы, пожалуйста, спросите их о доске обсуждений или в переполнении стека. На них там ответит.
Использование проблем создает большое количество шума и приводит к тому, что реальные проблемы становятся более медленными.
Совместимость версии : 4.0.0+ поддерживает безопасность нуля и требует совместимой версии 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 | инт | QrVersions.auto или значение от 1 до 40. См. Http://www.qrcode.com/en/about/version.html для ограничений и деталей. |
errorCorrectionLevel | инт | Значение, определенное на QrErrorCorrectLevel . Например: QrErrorCorrectLevel.L . |
size | двойной | (Квадратный) размер изображения. Если не указано, будет ли автоматическое размер, используя ограничение кратчайшего размера. |
padding | EdgeInsets | Заполнение окружающих данных QR -кода. |
backgroundColor | Цвет | Цвет фона (по умолчанию нет). |
eyeStyle | Qreyestyle | Конфигурирует формы и цвет QR -кода '(углы). |
dataModuleStyle | Qrdatamodulestyle | Конфигурирует форму и цвет точек. |
gapless | буль | Добавляет дополнительный пиксель по размеру, чтобы предотвратить пробелы (по умолчанию верно). |
errorStateBuilder | Qrerrorbuilder | Позволяет вам показать Widget состояния ошибки в случае, когда есть ошибка рендеринга QR -кода (например, версия слишком низкая, вход слишком длинный и т. Д.). |
constrainErrorBounds | буль | Если TRUE, Widget ошибок будет ограничен квадратом, в котором будет проведен QR -код. Если FALSE, виджет состояния Widget будет расти/сокращаться до любого размера, который ему нужен. |
embeddedImage | ImageProvider | ImageProvider , который определяет изображение, которое должно быть наложено в центр QR -кода. |
embeddedImageStyle | Qrembeddedimagestyle | Свойства, чтобы стилизовать встроенное изображение. |
embeddedImageEmitsError | буль | Если True, любая неспособность загрузить встроенное изображение запустит ошибку errorStateBuilder или визует пустой Container . Если false, 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 Размер. |
В каталоге /example есть простое, работающее приложение Flutter. Вы можете использовать его, чтобы играть со всеми вариантами.
Кроме того, следующие примеры дают вам быстрый обзор того, как использовать библиотеку.
Базовый 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 ),
],
),
)Спасибо Кевину Мур за его потрясающую библиотеку QR - DART. Это ядро этой библиотеки.
Для информации автора/участника см. Файл AUTHORS .
QR.Flutter выпускается по лицензии BSD-3. Смотрите LICENSE для деталей.