2.0.0 • Published 5 years ago

react-native-qrcode-scanner-view v2.0.0

Weekly downloads
235
License
Apache-2.0
Repository
github
Last release
5 years ago

react-native-qrcode-scanner-view

A highly customized qrcode viewfinder base on react-native-camera. You must set up react-native-camera correctly first before use it.If you need to set more react-native-camera props, you can just use Viewfinder which is exported as QRScannerRectView. Please view source code to learn more.


Guide

Features

  • Pure JS code
  • Support Android and iOS
  • Support React Native 0.60+
  • Support scan QR code, Bar code
  • Scanning interface can be customized

ScreenShots

DefaultWeChatMeiTuan
npm.ionpm.ionpm.io
TikTokDemoHomeDemo Gif
npm.ionpm.ionpm.io

Installation

// First
set up react-native-camera

// Second
yarn add react-native-qrcode-scanner-view

// or

npm install react-native-qrcode-scanner-view --save

Basic

import { View } from 'react-native';
import { QRScannerView } from 'react-native-qrcode-sanner-view';

export default class DefaultScreen extends Component {

    renderTitleBar = () => <Text style={{color:'white',textAlign:'center',padding:16}}>Title</Text>

    renderMenu = () => <Text style={{color:'white',textAlign:'center',padding:16}}>Menu</Text>

    barcodeReceived = (event) => { console.log('Type: ' + event.type + '\nData: ' + event.data) };

    render() {
        return (
           <View style={{flex:1}}>
            < QRScannerView
                onScanResult={ this.barcodeReceived }
                renderHeaderView={ this.renderTitleBar }
                renderFooterView={ this.renderMenu }
                scanBarAnimateReverse={ true }/>
           </View>
        )
    }
}

Props

npm.io

PropTypeDefaultOptional
maskColorstring#0000004Dtrue
rectStyleobjectheight: 300, width: 300, borderWidth: 0, borderColor: '#000000', marginBottom: 0true
cornerStyleobjectheight: 32, width: 32, borderWidth: 6, borderColor: '#1A6DD5'true
cornerOffsetSizenumber0true
isShowCornerbooltruetrue
scanBarStyleobjectmarginHorizontal: 8, borderRadius: 2, backgroundColor: '#1A6DD5'true
isShowScanBarbooltruetrue
scanBarAnimateTimenumber3000true
scanBarAnimateReverseboolfalsetrue
scanBarImageanytrue
hintTextstringtrue
hintTextStyleobjectcolor: '#fff', fontSize: 14, backgroundColor: 'transparent', marginTop: 32true
renderHeaderViewfunc-true
renderFooterViewfunc-true
onScanResultfunc-false
scanIntervalnumber2000true
torchOnboolfalsetrue
userFrontboolfalsetrue

About