import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, ListView, TouchableOpacity, Image } from 'react-native'; import _ from 'lodash'; import Immutable from 'seamless-immutable'; import { CameraKitGallery, CameraKitCamera, } from 'react-native-camera-kit'; const FLASH_MODE_AUTO = "auto"; const FLASH_MODE_ON = "on"; const FLASH_MODE_OFF = "off"; const FLASH_MODE_TORCH = "torch"; export default class CameraScreen extends Component { constructor(props) { super(props); const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); this.state = { albums:{}, albumsDS: ds, shouldOpenCamera: false, shouldShowListView: false, image: null, flashMode:FLASH_MODE_AUTO } } render() { return ( this._renderCameraView() ); } _renderCameraView() { return ( { this.camera = cam; }} style={{flex: 1}} cameraOptions= {{ flashMode: 'auto', // on/off/auto(default) focusMode: 'on', // off/on(default) zoomMode: 'on' // off/on(default) }} /> TAKE IT! {this.state.image && } log data switch camera flash auto flash on flash off flash torch ) } async onSwitchCameraPressed() { const success = await this.camera.changeCamera(); } async onLogData() { const success = await this.camera.logData(); } async onSetFlash(flashMode) { const success = await this.camera.setFlashMode(flashMode); } async onTakeIt() { const imageURI = await this.camera.capture(true); let newImage = {imageURI: "file://" + imageURI.uri}; this.setState({...this.state, image:newImage}); } }