Skip to content

rogeriooue/video

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video

Aplicativo React Native com funcionalidade de câmera.

Descrição

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.


Funcionalidades

  • 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.

Estrutura do Código

Importações

  • 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.

Hooks e Estados

  • 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.

Fluxo do Aplicativo

  1. 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.
  2. Alternar Câmera:

    • O botão de alternância chama a função toggleCameraFacing, que alterna entre as câmeras frontal e traseira.
  3. 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 estado capturedPhoto.
  4. Exibir Foto:

    • Se uma foto for capturada, ela é exibida em um modal. O modal pode ser fechado com o botão de fechar.

Componentes

App

O componente principal que gerencia a lógica do aplicativo.

Funções

  • 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.

Renderização

  • Exibe a câmera com botões para alternar e capturar fotos.
  • Exibe um modal com a foto capturada.

Estilos

container

  • Centraliza o conteúdo verticalmente.

camera

  • Define o tamanho da câmera para ocupar toda a tela.

contentButtons

  • Define a área dos botões de alternância e captura.

buttonFlip

  • Botão para alternar a câmera, posicionado no canto inferior esquerdo.

buttonCamera

  • Botão para capturar fotos, posicionado no canto inferior direito.

contentModal

  • Centraliza o conteúdo do modal.

closeButton

  • Botão para fechar o modal, posicionado no canto superior esquerdo.

imgPhoto

  • Define o tamanho da imagem exibida no modal.

Dependências

Expo

  • expo-camera: Para acessar a câmera do dispositivo.
  • expo-fontawesome: Para ícones visuais.

React Native

  • Componentes básicos como View, TouchableOpacity, Modal, etc.

Como Executar

  1. Instalar Dependências:

    Execute o comando:

    npm install

About

React Native with camera

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published