Crie um aplicativo Android galeria simples com o Flutter — modo escuro/claro e visualizador de imagens | Flutter Sensei | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Crie um aplicativo Android galeria simples com o Flutter — modo escuro/claro e visualizador de imagens

teacher avatar Flutter Sensei, Teaching Flutter from Scratch

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      O que você vai aprender e construir

      1:25

    • 2.

      Configure a mudança de temas

      5:46

    • 3.

      Criando a tela inicial, ativos de imagens, alternância de temas

      6:32

    • 4.

      Criando tela de detalhes e lista de imagens

      4:04

    • 5.

      Como exibir imagens em grade

      6:05

    • 6.

      Recapitulação e projeto do curso

      1:29

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

4

Estudantes

2

Projetos

Sobre este curso

Aprenda a criar um aplicativo de galeria limpo e funcional no Flutter, perfeito para iniciantes que querem prática prática com componentes reais de UI, navegação, gerenciamento de estados e layouts dinâmicos.

Neste curso passo a passo, você vai criar uma galeria de imagens completa que exibe as fotos em uma grade, abre em um visualizador de tela cheia com animações suaves de heróis, e inclui um alternativo de tema claro/escuro totalmente funcional usando o Provider para gerenciamento de estado.

Você vai aprender a:

  • Configure os recursos e gerencie imagens no Flutter

  • Crie um layout de grade responsivo com GridView.builder

  • Navegue entre telas e passe dados

  • Adicionar animações de heróis suaves para transições de imagem

  • Implemente a troca de tema usando o provedor

  • Estruture seu projeto no Flutter para obter um código limpo e de fácil manutenção.

No final, você vai ter um aplicativo Simple Gallery totalmente funcional que pode personalizar, publicar ou usar como base para projetos mais avançados do Flutter.

Este curso é fácil para iniciantes, rápido e perfeito para quem estiver aprendendo a usar o Flutter, Dart, desenvolvimento de aplicativos móveis ou construção de UI do zero.

Se você é completamente novo no Flutter, talvez queira começar com alguns dos meus cursos para iniciantes antes antes de criar o aplicativo Galeria. Estes projetos curtos vão ajudar você a entender os conceitos básicos passo a passo:

Cada um desses miniprojetos apresenta conceitos essenciais do Flutter de maneira simples e prática. Passá-las primeiro dará a você uma base forte, tornando o aplicativo Simple Gallery ainda mais fácil e agradável de construir.

Conheça seu professor

Teacher Profile Image

Flutter Sensei

Teaching Flutter from Scratch

Professor

Hey there! I'm Flutter Sensei -- I teach Flutter step-by-step with practical projects that make learning easy and fun for beginners.

My goal is to help you build real apps, understand every widget, and gain the confidence to create on your own.
Whether you're just starting out or brushing up your skills, welcome to your Flutter dojo.

Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. O que você vai aprender e construir: Oi, todo mundo. Bem-vindo. Meu nome é Flutter Sense e, nesta aula, vamos criar um aplicativo simples de galeria de imagens em Este projeto é perfeito para iniciantes que desejam praticar layouts, navegação, recursos e temas de uma só vez Ao final desta aula, você saberá como criar um novo projeto de flutter e estruturá-lo adequadamente Adicione e gerencie ativos de imagem locais, exiba imagens em um layout de grade responsivo, navegue até um visualizador de imagens em tela cheia na guia, use a animação flutters hero para criar transições suaves e alternar temas, como modo escuro e modo claro Esta aula é curta, para iniciantes e totalmente focada em projetos Não é uma teoria longa, apenas uma construção. Quanto ao seu projeto de classe, sua tarefa é adicionar seu próprio conjunto de imagens ao aplicativo. Exiba em uma grade de galeria, teste sempre a tela cheia e o tema Togo e compartilhe uma captura de tela ou uma gravação rápida de tela do seu aplicativo final Você também pode adicionar seu próprio toque, como cores diferentes, tamanhos de grade, cantos arredondados ou animações que o tornem Vamos criar suas galerias de imagens passo a passo. Então, o que você está esperando? Vamos começar. 2. Configure a mudança de temas: Tudo bem. Vamos começar a construir nosso projeto. Vamos para o nosso terminal. Vamos navegar até o desktop e navegar dentro de nossos projetos de flutter. Aqui, criaremos um novo projeto de flutter, flutter, criaremos uma galeria simples Agora vamos navegar por dentro disso. Essa é uma galeria simples de CDs, e vamos abri-la em código. Agora, vamos fechar nosso terminal. Vamos expandir nosso código. Antes de escrever qualquer interface de usuário, queremos que a mudança de tema faça parte do nosso aplicativo de galeria. Para isso, usaremos o pacote Provider. Abra seu YAML de pontos do Pubspec, role para baixo até dependências, aqui adicionaremos o Provider Guarde isso. Feito isso, vamos fechar isso. Vamos abrir a pasta labial, dardo principal, e vamos livrar de tudo o que temos aqui Vamos começar a escrever tudo do zero. Agora, em primeiro lugar, vamos importar o pacote, o material flutuante. Em seguida, importaremos o provedor de pacotes. Em seguida, escreveremos nosso aplicativo Run principal vazio. E dentro disso, precisaremos adicionar o provedor do notificador de alterações E este, vamos definir isso para o provedor. Em seguida, adicionaremos uma criança para isso. Essa é a galeria mais simples. Em primeiro lugar, vamos criar o provedor do tema. É aula. O provedor estende, muda o notificador, e vamos colocar um ouro aqui, chame isso de as is dark Vou definir isso por padrão como false. Então vamos criar um getter, G é escuro. Vou atribuir isso a is dark. Em seguida, criaremos uma função de alternância. Vamos chamar isso de tema de alternância. E então diremos que Es dark não é igual a East dark. Então, basicamente, isso vai alternar. Em seguida, notificaremos os ouvintes. Então, uma vez feito isso, a próxima coisa que precisamos fazer é criar nosso aplicativo de galeria simples. Então, aqui, diremos que a classe, uma galeria simples, estende a rigidez sem estado E dentro disso, queremos dizer const, galeria simples. Super dot K. Então diremos, tudo bem, construa, e é aqui que teremos que criar nossa variável Então, diremos por último que o provedor, que é o ponto fornecedor do provedor do tema. OK. Em seguida, adicionaremos o aplicativo de devolução de material. E dentro desse aplicativo de material, diremos título. Vou chamar isso de galeria simples. Vou remover o banner da Debe. Em seguida, criaremos nosso tema que é dados do tema. Então, usar o material três é verdadeiro, e então vamos escolher o esquema de cores a partir da semente. A cor é azul pontilhada e o brilho será claro. Faremos a mesma coisa com o tema escuro. Então, tudo o que temos que fazer agora é o tema escuro, copiar tudo isso, paginá-lo aqui. E o que podemos fazer agora é mudar isso para escuro. E agora precisamos adicionar o modo de tema. Esse é o provedor de temas dot is dark. Vamos mudar o modo do tema para escuro ou o modo do tema para claro. Agora vamos ligar para casa, digamos home const, vou chamar isso de tela inicial Vamos salvar isso e pronto. Nosso projeto básico agora está pronto. O provedor está configurado, a troca de equipe é conectada e o aplicativo é direcionado para a tela inicial Na próxima lição, criaremos uma tela inicial onde a interface da galeria realmente ficará. 3. Criando a tela inicial, ativos de imagens, alternância de temas: Agora que nossa configuração principal está concluída, vamos criar nossa tela inicial. Dentro da pasta lip, vamos criar uma pasta chamada screens. E dentro disso, criaremos um novo arquivo. Vou chamar isso de home underscore screen dot dot. E aqui, vamos transmitir package, flutter, material dot dot e vamos criar Então você pode dizer que estende o widget completo do estado. Vai ser const, tela inicial, tecla super doot Então podemos dizer em ou criar um estado. Esta é a tela inicial que permanece. Vamos nos livrar de todas essas coisas aqui. Sublinha o estado da tela inicial. E eu vou criar essa função privada. Eu vou dizer classe, o estado da tela inicial estende o estado, que é a tela inicial. Aqui vamos dizer, tudo bem, construa, e agora podemos devolver um andaime Agora, aqui, precisamos criar essa variável para eles trocarem. Diremos o fornecedor final do tema. Eu configurei isso para o ponto do provedor. Contexto, e eu vou pegar o provedor do tema aqui. Tudo bem, agora vamos voltar ao principal e importar nossa tela inicial. É pacote, galeria simples, telas, tela inicial. Guarde isso. E agora vamos executar o aplicativo. Ótimo. Tudo está conectado e agora estamos vendo uma tela em branco sem erros Então, vamos alinhar isso corretamente. E vamos fazer isso assim. Vamos derrubar essa. Agora, antes de construirmos a galeria UY, precisamos de algumas imagens para exibir Você pode baixar imagens gratuitas em pixels.com ou usar suas próprias Por enquanto, vou usar pixels.com. Então, vamos ao navegador. E vamos ao pixels.com. E a partir daqui, vou procurar a natureza. E vamos encontrar algumas imagens muito boas. Vou adicionar dez imagens. Isso é um, dois, três, quatro, cinco, seis, sete, oito, nove e dez. Então, vamos fazer o download desta imagem de download. Vou guardar isso em projetos mais livres. Da mesma forma que na galeria, vou criar uma pasta aqui chamada assets. Dentro dessa pasta, vou criar outra pasta chamada imagens. E aqui vamos salvar isso como Foto 1. OK. Então, agora vamos salvar essa segunda imagem. Vou salvar isso como Foto dois. E, finalmente, foto dez. Agora, o trabalho do navegador está concluído, vou fechá-lo. Agora, se você abrir a pasta do projeto aqui, poderá ver que temos ativos e, dentro dessa pasta de imagens, temos dez imagens aparecendo. Agora, vá para sua AML de pontos popspec e ela pode rolar para baixo até flutuar E aqui, a primeira coisa que precisamos fazer é adicionar ativos. E dentro dos ativos, adicionaremos ativos e, em seguida, adicionaremos a pasta de imagens. Guarde isso. Então, agora as imagens são adicionadas oficialmente ao seu flutter wrap. Feito isso, deixe-me mover isso para cá. Agora, feito isso, você pode voltar para a tela inicial. E agora vamos adicionar a barra de aplicativos ao nosso andaime Então, aqui, vou chamar isso de appr appr. Vou adicionar um título aqui com uma const chamada text. E aqui vamos chamar isso de galeria simples. Em seguida, vou adicionar algumas ações com um botão de ícone. Quando pressionado, queremos que o provedor do tema ative esse E para ícones, usaremos um ícone e verificaremos se o fornecedor está escuro. Então, vamos dizer que está escuro vamos dizer ícones, ponto, modo claro. Caso contrário, vamos dizer ícones, pontos, modo escuro. Vamos evitar que você veja a barra de aplicativos com o tema de alternância funcionando Isso nos dá uma barra superior limpa com os modos claro e escuro funcionando. Perfeito. Agora temos a tela inicial. Nossa pasta de ativos está configurada e podemos alternar temas diretamente da interface do usuário Na próxima lição, começaremos a exibir imagens reais em nossa grade. 4. Criando tela de detalhes e lista de imagens: Agora é hora de trazer nossas imagens para o aplicativo. Usaremos duas telas, uma tela que mostra a grade de imagens, uma tela que exibe uma única imagem em exibição completa. Para criar a visualização detalhada, vamos começar com a segunda tela. Agora, dentro da pasta Screens, vamos criar um novo arquivo. Vou chamar isso de tela de detalhes com ponto escuro. Vamos derrubar isso. E aqui, vou dizer importação, embalagem, vibração, ponto de material E aqui, vou dizer classe, tela de detalhes, digamos, estende stateless, widget E dentro disso, diremos const, tela de detalhes. Super dot K. Então diremos: Tudo bem, construa. Eu vou me livrar de todas essas coisas aqui. Digamos que devolva o andaime. Vamos fechar esse terminal aqui. E dentro do andaime, vamos dizer appr com um appr, digamos título, const, o texto que diz foto a. Vamos salvar isso. vamos dizer appr com um appr, digamos título, const, o texto que diz foto a. Vamos salvar isso. E então adicionaremos um corpo. Isso terá um jato central, e isso terá uma criança chamada herói. Agora, você pode ver aqui, o heroiget absorve duas coisas: a etiqueta e uma criança Então, precisamos dessas duas coisas. A primeira coisa, o que vamos fazer é adicionar uma variável aqui. Chamaremos isso de sequência final. Caminho da imagem. E então precisamos ligar para cá. Então, diremos que é necessário esse caminho de imagem de pontos. Guarde isso. Agora, no herói, vamos pegar essa tag e dizer que o caminho da imagem será uma imagem, um ativo de pontos desse caminho da imagem. Então guarde isso. Então, essa será nossa tela de detalhes. Então, vamos fechar isso. E agora vamos voltar para nossa tela inicial aqui. E então vamos importar essa tela de detalhes. Eu vou dizer pacote, galeria simples, telas, tela de detalhes. E dentro do estado aqui, vamos adicionar uma lista final, que será uma string. E o nome disso será imagens. E ele conterá as imagens que realmente baixamos do pixels.com Então, isso está dentro dos ativos. Imagens, JPG de 41 pontos, certo? Então, vamos duplicar isso dez vezes. Isso é um, dois, três, quatro, cinco, seis, sete, oito, nove, dez. Então, haverá dois e depois dez. Vamos guardar isso. Agora, o aplicativo sabe onde as imagens estão localizadas e a tela de detalhes está pronta para mostrá-las. Perfeito. Agora nossa tela de detalhes existe. Nossa lista de imagens está pronta e importamos tudo o que precisamos. Na próxima lição, exibiremos essas imagens dentro de uma grade na tela inicial e tornaremos cada imagem clicável para que ela seja aberta em uma trama na tela inicial e tornaremos completa 5. Como exibir imagens em grade: Agora é hora de mostrar nossas imagens no aplicativo usando uma grade Wave dot Builder. No ponto de pontos da tela inicial dentro do corpo que está aqui, adicionaremos um Grid Wave dot Builder. Você pode ver que envolve muitas coisas. A primeira coisa que precisaremos é o comprimento da grade. Então, aqui vamos dizer que a contagem de itens é o comprimento dos pontos das imagens. Agora, o que você precisa lembrar é que Grid Wave dot Builder funciona exatamente como o List Wave dot Builder, exceto que ele organiza os itens em uma grade em vez de uma lista vertical Agora que temos a contagem de itens, precisamos de um delegado da grade para definir a aparência da grade Então, aqui no delegado da grade, segure a barra de controle e espaço, e você encontrará isso Este é um delegado de grade prateada com contagem fixa de eixos cruzados. Isso é um dente muito grande. S, mas você verá como isso funciona. Então, a primeira coisa é que temos a contagem de eixos cruzados. Eu defini a contagem do eixo cruzado para quatro e vamos salvar isso. E então precisamos basicamente mostrar quatro grades, como as quatro colunas. E agora precisamos do espaçamento entre essas colunas. Então, se você pressionar Controle e espaço, mas novamente, verá que há dois espaçamentos. Um é o espaçamento entre eixos cruzados e há o espaçamento entre eixos principais Vamos adicionar o eixo cruzado um e defini-lo como 12. E agora vamos adicionar o próximo que é o eixo principal. Vou definir isso para dois. Agora, dentro do criador de itens, obtemos cada imagem para torná-la tocável Para fazer isso, vamos remover isso e segurar Controle e espaço Você verá que obtemos o índice de contexto Então, vamos abrir essa e, dentro dela, criamos uma variável chamada imagem. Caminho. Agora, se você se lembra, criamos isso na tela de detalhes. Isso foi para a tela de detalhes. Agora, isso é para a rede. Então, aqui vamos obter as imagens e, em seguida, obteremos o índice delas. A próxima coisa é que vamos devolver um detector de gestos Isso é para a parte de rosqueamento. Então, aqui dentro do On Tap, o que queremos fazer é pressionar isso para que ele possa ir para a tela de detalhes. Digamos navigator dot push, e a rota aqui será a rota da página de material e o construtor será a tela de detalhes Agora, como você pode ver, ele já percorreu o caminho da imagem porque fornecemos a variável aqui. A próxima coisa é que precisamos exibir essas imagens. Então, depois disso, vamos dizer criança, e vamos adicionar um herói. Agora lembre-se, o que vem dentro da tag, o caminho da imagem. E para a criança, diremos ácido do ponto da imagem é o caminho da imagem. Vou guardar isso. Agora você pode ver todas as imagens que usamos. Além disso, você pode ver que, na verdade, está indo até a borda Precisamos dar um pouco de preenchimento aqui Aqui, para o corpo dentro do Grid wave Builder, adicionaremos um preenchimento com 16 pixels Então, isso vai dar um pouco de preenchimento. Agora, essas imagens são desiguais, mas primeiro vamos ver se funciona Se eu tocar nisso, você pode ver que sempre abre na foto. Se eu tocar na segunda imagem, ela também se abre sempre na foto. A funcionalidade está funcionando, mas as imagens são irregulares, então precisamos corrigir isso Agora, para fazer isso, essas imagens estão na verdade sendo carregadas da criança, que está aqui. O que podemos fazer é cortar tudo isso. Então podemos dizer clipe ou retângulo, e isso terá um filho, e vamos colar esse herói aqui Agora, esse clipe ou retângulo tem um raio de borda. Vou definir o raio da borda circular, que está aqui Vou definir este para 12, exceto isso. E você verá que nada realmente aconteceu. Isso porque precisamos encaixar isso dentro desse máximo. Então, logo após essa imagem aqui, vamos dizer fit, e então vamos dizer box fit dot cover. Guarde isso. Agora você verá que todas as imagens cabem dentro dessa caixa retangular Agora, o espaçamento parece bem próximo um do outro. Então é aí que entra essa parte. Então, podemos definir isso para 16, 16, salvar isso, e você verá o espaçamento aumentar. Agora, se eu tocar neste, ele se abre em um visualizador de fotos. Se eu abrir este, isso também abrirá aquele no Visualizador de fotos. E é isso. Agora estamos exibindo as imagens em uma grade limpa. Cada imagem é aberta em tela cheia com uma animação suave do herói. A grade é acolchoada, espaçada uniformemente e parece polida. E a melhor parte, a troca de tema funciona. 6. Recapitulação e projeto do curso: Chegamos ao final do nosso mini projeto. Vamos recapitular um momento para recapitular tudo o que criamos nesta aula Criamos um novo projeto flutter, adicionamos o pacote de provedores para gerenciamento deles, criamos um provedor de temas para alternar entre Light e Dog, conectamos tudo dentro do ponto principal ao provedor do notificador de alterações, criamos uma estrutura de projeto limpa e telas separadas, criamos uma estrutura de projeto limpa e telas separadas, adicionamos ativos ao pubspec dot YAML adicionamos o pacote de provedores para gerenciamento deles, criamos um provedor de temas para alternar entre Light e Dog, conectamos tudo dentro do ponto principal ao provedor do notificador de alterações, criamos uma estrutura de projeto limpa e telas separadas, adicionamos ativos ao pubspec dot YAML e carregamos imagens no aplicativo. Crie uma visualização em grade responsiva para exibir fotos, adicionou detecção de abas e navegação em uma tela de detalhes em tela cheia, implementou uma animação suave de herói estilizou cada item usando clipes ou espaçamento e preenchimento reduzidos No final, tínhamos uma galeria de imagens simples e totalmente funcional, com troca de imagens e visualização em tela cheia. Agora é a sua vez. Escolha seu próprio conjunto de imagens, adicione-as à sua pasta de ativos, exiba-as na galeria, compartilhe a captura de tela ou uma pequena gravação de tela do seu aplicativo Faça o upload do resultado final para a seção do projeto. Eu adoraria ver o resultado da sua galeria. Cada versão terá uma aparência única, dependendo das imagens que você escolher. Obrigado por participar desta aula. Nos vemos na próxima, onde construiremos algo ainda mais empolgante.