Pular para o conteúdo
Sem resultados
  • Início
  • Vídeos
  • Equipamentos
  • Livros
  • Reviews
  • Stories
  • Início
  • Vídeos
  • Equipamentos
  • Livros
  • Reviews
  • Stories
Home Conteúdo Tela de Login com Flutter

Tela de Login com Flutter

  • ConteúdoDevDicasMobileTutorial
  • 15 de outubro de 2023

Veja em apenas 3 minutos como é super simples criar uma bela tela de login no Flutter.

Neste tutorial, você aprenderá a criar uma tela de login básica no Flutter. A tela de login terá os seguintes elementos:

  • Um campo de texto para o nome de usuário
  • Um campo de texto para a senha
  • Um botão para enviar o login
  • Um botão para criar uma conta

Caso ainda não tenha o Flutter instalado confira nesse link como realizar a instalação na sua máquina.

Abaixo segue o link em rápido para você conseguir ver como foi feito.

Para iniciarmos um novo projeto em Flutter precisamos digitar o seguinte comando em nosso terminal:

flutter create login_page

Com o projeto já iniciado, limpamos todo o código de exemplo no arquivo main.dart que se encontra na pasta /lib e o deixamos da seguinte forma:

import 'package:flutter/material.dart';

import 'package:login_page/login_page.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Login Page',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const LoginPage(),
    );
  }
}

Agora vamos criar nosso widget LoginPage que será de fato a nossa tela de login.

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class LoginPage extends StatelessWidget {
  const LoginPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      extendBodyBehindAppBar: true,
      appBar: AppBar(
        title: const Image(
          image: NetworkImage(
              "http://ninelabs-wordpress-1aba45-177-136-235-199.traefik.me/wp-content/uploads/2022/05/Group-1.png"),
          width: 140,
        ),
        elevation: 0,
        backgroundColor: Colors.transparent,
      ),
      body: Container(
        width: MediaQuery.of(context).size.width,
        padding: const EdgeInsets.all(27),
        decoration: const BoxDecoration(
          gradient: LinearGradient(
            colors: [
              Colors.deepPurple,
              Colors.pinkAccent,
            ],
          ),
        ),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const SizedBox(height: 30),
            const Text(
              "Digite os dados de acesso nos campos abaixo.",
              style: TextStyle(
                color: Colors.white,
              ),
            ),
            const SizedBox(height: 30),
            const CupertinoTextField(
              cursorColor: Colors.pinkAccent,
              padding: EdgeInsets.all(15),
              placeholder: "Digite o seu e-mail",
              placeholderStyle: TextStyle(color: Colors.white70, fontSize: 14),
              style: TextStyle(color: Colors.white, fontSize: 14),
              decoration: BoxDecoration(
                  color: Colors.black12,
                  borderRadius: BorderRadius.all(
                    Radius.circular(7),
                  )),
            ),
            const SizedBox(height: 5),
            const CupertinoTextField(
              padding: EdgeInsets.all(15),
              cursorColor: Colors.pinkAccent,
              placeholder: "Digite sua senha",
              obscureText: true,
              placeholderStyle: TextStyle(color: Colors.white70, fontSize: 14),
              style: TextStyle(color: Colors.white, fontSize: 14),
              decoration: BoxDecoration(
                  color: Colors.black12,
                  borderRadius: BorderRadius.all(
                    Radius.circular(7),
                  )),
            ),
            const SizedBox(height: 30),
            SizedBox(
              width: double.infinity,
              child: CupertinoButton(
                padding: const EdgeInsets.all(17),
                color: Colors.greenAccent,
                child: const Text(
                  "Acessar",
                  style: TextStyle(
                      color: Colors.black45,
                      fontSize: 14,
                      fontWeight: FontWeight.w600),
                ),
                onPressed: () {},
              ),
            ),
            const SizedBox(height: 7),
            Container(
              width: double.infinity,
              decoration: BoxDecoration(
                  border: Border.all(color: Colors.white70, width: 0.8),
                  borderRadius: BorderRadius.circular(7)),
              child: CupertinoButton(
                child: const Text(
                  "Crie sua conta",
                  style: TextStyle(
                      color: Colors.white,
                      fontSize: 14,
                      fontWeight: FontWeight.w600),
                ),
                onPressed: () {},
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Simples assim! Espero que tenham gostado e que sirva de incentivo para você começar a criar as suas próprias telas!

Confira também nosso outro artigo ‘Tela de Login com HTML + CSS‘.

Te desejo muito sucesso!

Tags
# dart# flutter# Frontend# Login# Tela de Login# Tutorial
Post anterior Gerenciamento de tempo: como usar bem o seu tempo e ser mais produtivo
Próximo Post Macbook Pro: A Escolha Inteligente para Programadores Profissionais

Deixe um comentárioCancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Últimas Postagens

A Ascensão do Micro-SaaS: Nichos Lucrativos na Era da Automação

16 de março de 2026

Como Criar um Buffer de Mensagens no n8n Mais Fácil do Mundo!

11 de março de 2026

Automação com n8n e IA: Construindo Workflows Autônomos

9 de março de 2026

Adeus, Supabase? Descubra como instalar o Appwrite na sua VPS e ganhe controle total!

3 de março de 2026

A Grande Consolidação: Por Que o SaaS Brasileiro Mudou de Jogo

23 de fevereiro de 2026

Posts relacionados

A Ascensão do Micro-SaaS: Nichos Lucrativos na Era da Automação

  • 16 de março de 2026

Como Criar um Buffer de Mensagens no n8n Mais Fácil do Mundo!

  • 11 de março de 2026

Automação com n8n e IA: Construindo Workflows Autônomos

  • 9 de março de 2026

Mais lidos

Temas-claros-vs-code
6 temas claros incríveis para VSCode
Como Criar um Agente de IA para WhatsApp Usando N8n e Evolution API
Boas práticas: Status Code HTTP
Padrão de Códigos de Status HTTP em APIs REST
Em dúvida sobre qual faculdade fazer?
Qual faculdade fazer para ser um desenvolvedor web?

Copyright © 2026 - Todos os direitos reservados Ninelabs

  • Vídeos
  • Termos de Uso
  • Política Privacidade