📷 A barcode and QR code scan layout for react-native applications with customizable styling
npm i react-native-barcode-mask -s
All you need is to import
BarcodeMask
from the react-native-barcode-mask
module and then use it.
Inside <RNCamera>...</RNCamera>
tag as a child component.
'use strict';
import React, { Component } from 'react';
import { RNCamera } from 'react-native-camera';
import BarcodeMask from 'react-native-barcode-mask';
...
<RNCamera
...
>
<BarcodeMask />
</RNCamera>
...
Few style modifications:
// Barcode
<BarcodeMask width={300} height={100} />
// QR
<BarcodeMask edgeColor={'#62B1F6'} showAnimatedLine={false}/>
// Barcode example 2
<BarcodeMask width={100} height={300} showAnimatedLine={false} outerMaskOpacity={0.8}/>
// Barcode example 3
<BarcodeMask width={300} height={100} edgeBorderWidth={1} />
https://gist.github.com/shahnawaz/d24ae843fc3a6056bef9c752d9b35e03
⭐ Pretty cool! Right?
Value: number
| string
(%
)
Default: 280
Finder's width (the visible area)
Value: number
| string
(%
)
Default: 230
Finder's height (the visible area)
Value: number
| string
(%
)
Default: 20
Edge/Corner's width
Value: number
| string
(%
)
Default: 20
Edge/Corner's height
Value: string
Default: #FFF
Use this to give custom color to edges
Value: number
| string
(%
)
Default: 4
Use this to modify the border (thickness) of edges
Value: number
Default: 0
Use this to modify the border radius of edges
Value: string
Default: rgb(0, 0, 0, 0.6)
Use this to modify the background color of area around finder
Value: number
(0 - 1)
Default: 0.6
Use this to modify the transparency of outer mask
Value: boolean
Default: true
Value: string
Default: #FFF
Value: number
Default: 2
Value: number
| string
(%
)
Default: 85%
Value: number
Default: 1500
Value: string
(horizontal
| vertical
)
Default: horiontal
Value: boolean
Default: true
React Native > 0.62.x
requires us to sepcify useNativeDriver
while working with animation
value: function
Details: Handler to receive onLayout
event of finder. Useful if you want to only detect barcode inside the Finder area.
parameter: event
{
nativeEvent: {
target: number,
layout: { height: number, width: number, x: number, y: number}
}
}
Want to add some new styles or layout?
Want to update few things?
Feel free to open a PR.