Aplicativo React Native com funcionalidade de câmera.
Este aplicativo utiliza a câmera do dispositivo para capturar fotos. Ele permite alternar entre as câmeras frontal e traseira, tirar fotos e exibi-las em um modal. O aplicativo também solicita permissões de câmera ao usuário.
- Captura de Fotos: Permite tirar fotos usando a câmera do dispositivo.
- Alternar Câmera: Alterna entre a câmera frontal e traseira.
- Exibição de Foto: Exibe a foto capturada em um modal.
- Solicitação de Permissões: Solicita permissões de câmera ao usuário.
- React e Hooks:
useState
,useEffect
,useRef
para gerenciar estado e efeitos. - Componentes do React Native:
View
,SafeAreaView
,TouchableOpacity
,Modal
,Image
,Button
. - Expo Camera:
CameraView
,useCameraPermissions
para acessar a câmera. - Ícones:
FontAwesome
para ícones visuais.
camRef
: Referência para a câmera.facing
: Estado para alternar entre câmera frontal e traseira.permission
: Estado para verificar se as permissões foram concedidas.capturedPhoto
: Armazena o URI da foto capturada.open
: Controla a visibilidade do modal.
-
Solicitação de Permissões:
- O
useEffect
solicita permissões de câmera ao usuário ao montar o componente. - Caso as permissões não sejam concedidas, exibe uma mensagem e um botão para solicitar novamente.
- O
-
Alternar Câmera:
- O botão de alternância chama a função
toggleCameraFacing
, que alterna entre as câmeras frontal e traseira.
- O botão de alternância chama a função
-
Capturar Foto:
- O botão de captura chama a função
takePicture
, que utiliza a referência da câmera para capturar uma foto e armazena o URI no estadocapturedPhoto
.
- O botão de captura chama a função
-
Exibir Foto:
- Se uma foto for capturada, ela é exibida em um modal. O modal pode ser fechado com o botão de fechar.
O componente principal que gerencia a lógica do aplicativo.
toggleCameraFacing
: Alterna entre a câmera frontal e traseira.takePicture
: Captura uma foto usando a câmera.requestPermission
: Solicita permissões de câmera ao usuário.
- Exibe a câmera com botões para alternar e capturar fotos.
- Exibe um modal com a foto capturada.
- Centraliza o conteúdo verticalmente.
- Define o tamanho da câmera para ocupar toda a tela.
- Define a área dos botões de alternância e captura.
- Botão para alternar a câmera, posicionado no canto inferior esquerdo.
- Botão para capturar fotos, posicionado no canto inferior direito.
- Centraliza o conteúdo do modal.
- Botão para fechar o modal, posicionado no canto superior esquerdo.
- Define o tamanho da imagem exibida no modal.
- expo-camera: Para acessar a câmera do dispositivo.
- expo-fontawesome: Para ícones visuais.
- Componentes básicos como
View
,TouchableOpacity
,Modal
, etc.
-
Instalar Dependências:
Execute o comando:
npm install