Untitled
unknown
javascript
2 years ago
2.2 kB
13
Indexable
import { Camera } from 'expo-camera';
import React, { useState, useEffect } from 'react';
import { Text, View, TouchableOpacity } from 'react-native';
const AboutView = () => {
const [hasPermission, setHasPermission] = useState(null);
const [type, setType] = useState(Camera.Constants.Type.back);
useEffect(() => {
(async () => {
const { status } = await Camera.requestPermissionsAsync();
setHasPermission(status === 'granted');
})();
}, []);
if (hasPermission === null) {
return <View />;
}
if (hasPermission === false) {
return <Text>No access to camera</Text>;
}
const takePicture = async () => {
if (cameraRef) {
const photo = await cameraRef.current.takePictureAsync();
console.log(photo);
}
};
let cameraRef = null;
return (
<View style={{ flex: 1 }}>
<Camera style={{ flex: 1 }} type={type} ref={(ref) => (cameraRef = ref)}>
<View
style={{
flex: 1,
backgroundColor: 'transparent',
flexDirection: 'row',
}}
>
<TouchableOpacity
style={{
flex: 0.1,
alignSelf: 'flex-end',
alignItems: 'center',
}}
onPress={() => {
setType(
type === Camera.Constants.Type.back
? Camera.Constants.Type.front
: Camera.Constants.Type.back
);
}}
>
<Text style={{ fontSize: 18, marginBottom: 10, color: 'white' }}>
Flip
</Text>
</TouchableOpacity>
<TouchableOpacity
style={{
flex: 0.1,
alignSelf: 'flex-end',
alignItems: 'center',
}}
onPress={takePicture}
>
<Text style={{ fontSize: 18, marginBottom: 10, color: 'white' }}>
Take Picture
</Text>
</TouchableOpacity>
</View>
</Camera>
</View>
);
};
const styles = {
container: {
//flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
title: {
fontSize: 24,
fontWeight: 'bold',
},
};
export default AboutView;
Editor is loading...