#javascript #android #react-native #camera #expo
Вопрос:
- хотя я скопировал точный пример кода expo-камеры, который работает нормально, но в моем устройстве он не работает. камера expo в react native показывает размер камеры панели уведомлений в мобильном устройстве.
- если у вас есть дополнительные ресурсы, связанные с камерой react native, пожалуйста, поделитесь ими.
import React, { useState, useEffect } from 'react'; import { StyleSheet, Text, View, TouchableOpacity } from 'react-native'; import { Camera } from 'expo-camera'; export default function App() { const [hasPermission, setHasPermission] = useState(null); const [type, setType] = useState(Camera.Constants.Type.back); useEffect(() =gt; { (async () =gt; { const { status } = await Camera.requestPermissionsAsync(); setHasPermission(status === 'granted'); })(); }, []); if (hasPermission === null) { return lt;View /gt;; } if (hasPermission === false) { return lt;Textgt;No access to cameralt;/Textgt;; } return ( lt;View style={styles.container}gt; lt;Camera style={styles.camera} type={type}gt; lt;View style={styles.buttonContainer}gt; lt;TouchableOpacity style={styles.button} onPress={() =gt; { setType( type === Camera.Constants.Type.back ? Camera.Constants.Type.front : Camera.Constants.Type.back ); }}gt; lt;Text style={styles.text}gt; Flip lt;/Textgt; lt;/TouchableOpacitygt; lt;/Viewgt; lt;/Cameragt; lt;/Viewgt; ); } const styles = StyleSheet.create({ container: { flex: 1, }, camera: { flex: 1, }, buttonContainer: { flex: 1, backgroundColor: 'transparent', flexDirection: 'row', margin: 20, }, button: { flex: 0.1, alignSelf: 'flex-end', alignItems: 'center', }, text: { fontSize: 18, color: 'white', }, });