O QR.Flutter é uma biblioteca de vibração para renderização de código QR simples e rápida por meio de um widget ou pintor personalizado.
Por favor, não envie um problema para um "Como eu ...?" ou "Qual é o problema com ...?" Digite pergunta. Eles serão praticamente fechados instantaneamente. Se você tiver dúvidas, pergunte -lhes no quadro de discussões ou no excesso de pilha. Eles serão respondidos lá.
O uso de problemas cria uma grande quantidade de ruído e resulta em problemas reais ficando mais lentos.
Compatibilidade da versão : 4.0.0+ suporta segurança nula e requer uma versão do Flutter que seja compatível. Se você estiver usando uma versão incompatível do Flutter, use uma versão 3.x desta biblioteca.
Você deve adicionar o seguinte ao seu arquivo pubspec.yaml :
dependencies :
qr_flutter : ^4.1.0 NOTA : Se você estiver usando o canal master do Flutter, se encontrar problemas de criação ou desejar experimentar o melhor e o melhor, você deve usar a filial master e não uma versão de lançamento específica. Para fazer isso, use a seguinte configuração em seu pubspec.yaml :
dependencies :
qr_flutter :
git :
url : https://github.com/theyakka/qr.flutter Lembre -se de que o ramo master pode ser instável.
Depois de adicionar a dependência ao seu pubspec.yaml você pode executar: flutter packages get ou atualizam seus pacotes usando o seu IDE.
Para começar, importe a dependência em seu código:
import 'package:qr_flutter/qr_flutter.dart' ;Em seguida, para renderizar um código QR básico, você pode usar o seguinte código (ou algo parecido):
QrImageView (
data : '1234567890' ,
version : QrVersions .auto,
size : 200.0 ,
),Dependendo dos requisitos de dados, você pode querer ajustar a saída do código QR. As seguintes opções estão disponíveis:
| Propriedade | Tipo | Descrição |
|---|---|---|
version | int | QrVersions.auto ou um valor entre 1 e 40. Consulte http://www.qrcode.com/en/about/version.html para limitações e detalhes. |
errorCorrectionLevel | int | Um valor definido no QrErrorCorrectLevel . Por exemplo: QrErrorCorrectLevel.L . |
size | dobro | O tamanho (quadrado) da imagem. Se não for dado, o tamanho automático usando a restrição de tamanho mais curta. |
padding | Edgeinsets | Preenchimento ao redor dos dados do código QR. |
backgroundColor | Cor | A cor de fundo (o padrão é nenhum). |
eyeStyle | Qreyestyle | Configura a forma e a cor do código QR Eyes '(Corners'). |
dataModuleStyle | Qrdatamodulestyle | Configura a forma e a cor dos pontos. |
gapless | bool | Adiciona um pixel extra em tamanho para evitar lacunas (o padrão é verdadeiro). |
errorStateBuilder | QRERRORBUILLER | Permite que você mostre um Widget de estado de erro no caso de haver um erro renderizando o código QR (por exemplo: a versão é muito baixa, a entrada é muito longa, etc.). |
constrainErrorBounds | bool | Se for verdade, o Widget de erro será restringido ao quadrado em que o código QR será desenhado. Se false, o Widget do estado de erro crescerá/encolherá para qualquer tamanho necessário. |
embeddedImage | ImageProvider | Um ImageProvider que define uma imagem a ser sobreposta no centro do código QR. |
embeddedImageStyle | Qrembeddedimagestyle | Propriedades para estilizar a imagem incorporada. |
embeddedImageEmitsError | bool | Se verdadeiro, qualquer falha no carregamento da imagem incorporada acionará o errorStateBuilder ou renderizará um Container vazio. Se false, o código QR será renderizado e a imagem incorporada será ignorada. |
semanticsLabel | Corda | semanticsLabel será usado pelos leitores de tela para descrever o conteúdo do código QR. |
borderRadius | dobro | Configurando arredondamento de canto para tipos de forma QrEyeShape.square , QrDataModuleShape.square , EmbeddedImageShape.square . Definido em estilos apropriados. |
roundedOutsideCorners | bool | Se for verdade, os cantos externos dos dados são arredondados. Definido como QrDataModuleStyle . Arredondado para borderRadius por padrão. Somente QrDataModuleShape.square . |
outsideBorderRadius | dobro | É definido se o arredondamento externo outsideBorderRadius deve diferir do interior de uma borderRadius . Não mais que borderRadius . Somente QrDataModuleShape.square |
gradient | Gradiente | Alterando a cor sólida do código para um gradiente, por exemplo, LinearGradient . |
safeArea | bool | Se verdadeiro, os dados estão ocultos por trás do embeddedImage . Definido como QrEmbeddedImageStyle . |
safeAreaMultiplier | dobro | Tamanho do multiplicador safeArea . |
Existe um aplicativo simples, funcionando e de vibração no diretório /example . Você pode usá -lo para brincar com todas as opções.
Além disso, os exemplos a seguir fornecem uma rápida visão geral sobre como usar a biblioteca.
Um código QR básico será algo como:
QrImageView (
data : 'This is a simple QR code' ,
version : QrVersions .auto,
size : 320 ,
gapless : false ,
)Um código QR com uma imagem (dos ativos do seu aplicativo) parecerá:
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 ),
),
)Para mostrar um estado de erro no caso de o código QR não pode ser validado:
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,
),
),
);
},
)Um código QR com cantos internos e externos de arredondamento e área segura da imagem incorporada:
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 ,
),
)Um código QR com gradiente:
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 ),
],
),
)Obrigado a Kevin Moore por sua incrível Biblioteca QR - Dart. É o núcleo desta biblioteca.
Para obter informações do autor/colaborador, consulte o arquivo AUTHORS .
O QR.Flutter é liberado sob uma licença BSD-3. Consulte LICENSE para obter detalhes.