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,useRefpara gerenciar estado e efeitos. - Componentes do React Native:
View,SafeAreaView,TouchableOpacity,Modal,Image,Button. - Expo Camera:
CameraView,useCameraPermissionspara acessar a câmera. - Ícones:
FontAwesomepara í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
useEffectsolicita 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