Arquitectura de Aplicaciones

1

¡Renovaremos este curso! Te quedan unos días para concluirlo.

2

Pasos para aprender Flutter Avanzado

3

¿Qué es una Arquitectura de software?

4

Tipos de Arquitecturas para Flutter

5

Arquitectura BLoC en Flutter

6

¡Renovaremos este curso! Te quedan unos días para concluirlo.

7

BLoC + Clean Architecture en Flutter

8

Estructurando nuestro proyecto utilizando la Arquitectura BLoC

9

Haciendo BLoC Singleton en Flutter

10

Aplicando Providers al Proyecto

Firebase y Flutter

11

¡Renovaremos este curso! Te quedan unos días para concluirlo.

12

Integrando Firebase Authentication, Cloud Firestore y Firebase Storage al proyecto

13

Integrando Firebase a Flutter para iOS

14

Integrando Firebase a Flutter para Android

15

Creación de Pantalla de Login con Flutter

16

Creando botones reutilizables en Flutter

17

Autenticación de Firebase con Google

18

¡Renovaremos este curso! Te quedan unos días para concluirlo.

19

Implementando Firebase Authentication en BLoC Pattern

20

Streams en Flutter

21

Manejando una sesión con Firebase Authentication y Flutter

22

Implementando Google SignOut en BLoC

23

Implementando Google SignOut en View

24

Monitoreando y validando la conexión al Sign con Google

25

Mostrando los datos de usuario de Google en la interfaz en Flutter

Cloud Firestore de Firebase en Flutter

26

¡Renovaremos este curso! Te quedan unos días para concluirlo.

27

¿Qué es Cloud Firestore de Firebase?

28

Analizando un modelo de datos no relacional

29

Creando un Modelo de datos en Cloud Firestore

30

Enviando datos a Cloud Firestore

31

Creando un Widget gradiente personalizado

32

Manejo de Desbordamiendo de Texto de Widget Text

33

Botón de Back en un Appbar en Flutter

34

Navegación entre pantallas en Flutter

35

Widget Text Appbar personalizado en Flutter

36

¡Renovaremos este curso! Te quedan unos días para concluirlo.

37

Widget TextField personalizado en Flutter

38

Creando una Safe Area para una interfaz que tiene un AppBar

39

Widget TextField con iconos en Flutter

40

Retocando el CardView

41

Mostrando imágenes en un CardView

42

Creando un botón de Submit en Flutter

43

Envío de datos de un fórmulario en Flutter

44

Subiendo datos a Firestore de Firebase

45

Formularios en Flutter

Acceso al Hardware con Flutter

46

¡Renovaremos este curso! Te quedan unos días para concluirlo.

47

Acceso a la cámara en Flutter

48

Librerías de acceso a Hardware en Flutter

Firebase Storage en Flutter

49

¡Renovaremos este curso! Te quedan unos días para concluirlo.

50

Qué es y cómo funciona Firebase Storage en Flutter

51

Subiendo una imagen a Firebase Storage desde Flutter

Querys avanzados en Cloud Firestore de Firebase en Flutter

52

¡Renovaremos este curso! Te quedan unos días para concluirlo.

53

Manejo de imágenes en Cloud Firestore

54

Cloud Firestore insertando referencias y arrays en la base de datos

55

Descargar imágenes de Firebase Storage y mostrarlas en Flutter

56

Procesando datos con BLoC Pattern

57

Trayendo datos de Cloud Firestore

58

Persistiendo datos de un usuario logueado

59

Aplicando Filtros en Cloud Firestore

60

¡Renovaremos este curso! Te quedan unos días para concluirlo.

61

Construyendo los Places en la pantalla de Home

62

Mostrando los Places en la pantalla de Home

63

Actualizando datos en tiempo real

64

Manejando la lógica de likes, como botón toggle.

65

Insertando y obteniendo referencias en datos de Firestore.

66

Usando el caché para cargar imágenes más rápido

67

StreamController, sink, add y StreamBuilder

Conclusiones

68

¡Renovaremos este curso! Te quedan unos días para concluirlo.

69

Conclusiones

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Avanzado de Flutter

Curso Avanzado de Flutter

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Creando botones reutilizables en Flutter

16/69
Recursos

Aquí puedes ver el repositorio.

Aportes 25

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

A quien pueda interesar existe una dependencia de flutter llamada flutter_signin_button 0.5.2 que agrega botones muy similares a lo que estamos creando con iconos y respetan el diseño de google, twitter, facebook etc…

Tiene para agregar un metodo onTap como queremos aca con nuestro widget personalizado, es solo una opcion mas pero me parece muy buena para futuros proyectos

Hola, comparto la forma en que me quedo el constructor, ya que no me funcionaba de la forma en que esta en el video

ButtonGreen({required this.text, required this.onPressed, this.height = 0.0, this.width = 0.0});

Así me va quedando:


Buenas amigos acá tiene una forma práctica de poner los botones de inicio de cesión que quieran, la dependencia de flutter es flutter_auth_button ^0.9.0 (ultima versión a la fecha):

Agregar la versión que este disponible a la fecha en pubspec.yaml
Obtener packetes en “get pub”
importar la libreria: import ‘package:flutter_auth_buttons/flutter_auth_buttons.dart’;
Agregar los botones dentro del children:
GoogleSignInButton(
onPressed: () {},
borderRadius: 10,
),
FacebookSignInButton(
onPressed: () {},
borderRadius: 10,
)```

Esta clase debe ir después de la clase 13 “Creación de Pantalla de Login con Flutter”.

En una columna el MainAxisAlignment es alineado vertical y el CrossAxisAlignment el alineado horizontal. En el caso de las filas es viceversa.

Sera que cabellos de fuego no explicara alguna vez como implementar firebase ui auth?

El VoidCallback no retorna nada ni recibe parámetros.
Si hay parámetros se debería usa Function

Acá les dejo los colores por si alguien los necesita!

            colors: [
              Color(0xFFa7ff84), //arriba
              Color(0xFF1cbb78) //abajo
            ],

Hola compañeros, para alinear el texto puedes usar:

textAlign: TextAlign.center

simplemente lo escribes debajo de la linea:

fontWeight: FontWeight.bold,

y listo, saludos!

Buenas clases

Al parecer el BorderRadius.circula(15.0) esta bien. Modifique lo alto del boton a 60 y creo que esta mucho mejor

Miren banda, me quedó mamalón, sí o no raza??

No entendi a que se refiere con ese {Key key} Alguna documentaci’on?

Va quedando genial!

Solo hay que cambiar el valor de esta linea de código para jugar con el radio del botón.

borderRadius: BorderRadius.circular(15.0)

y en que momento creo el archivo SingIn??? como que faltan videos!

Cual es la diferencia entre

@override
  _ButtonGrenState createState() => _ButtonGrenState();

Y el codigo que ann implemente ??

Si desean jugar más con el text les recomiendo este video:
https://youtu.be/gpWcLrcJedQ

Hola, ¿alguien podría ayudarme? El texto no me aparece centrado:

Genial! 😉

Hola a todos al escuchar el video se menciona que es genial como flutter indica en que párrafo se termina una sintaxis por ejemplo:

En el minuto 09:15 " ), // BoxDecoration " => eso a mí no me aparece en el IDE y debo mirar el cierre de paréntesis lo que lo hace engorroso ¿Hay que activar algo quizás? saludos!

😃 next! 😃

Alguno le dio error el VoidCallback

The name ‘VoidCallback’ is defined in the libraries ‘dart:html’ and ‘dart:ui’

Por si necesitan un Botón algo parecido aquí les dejo un widget que hice yo.

import 'package:flutter/material.dart';

class ButtonAp extends StatefulWidget {
  final VoidCallback onPressed;
  final String text;
  double width = 0.0;
  double height = 0.0;
  double border;

  ButtonAp({Key key, @required this.text, @required this.onPressed, this.height, this.width, this.border});

  @override
  _ButtonApState createState() => _ButtonApState();
}

class _ButtonApState extends State<ButtonAp> {
  @override
  Widget build(BuildContext context) {
    return InkWell(
      onTap: widget.onPressed,
      child: Container(
        margin: EdgeInsets.only(
          top: 30.0,
          left: 20.0,
          right: 20.0,
        ),
        height: widget.height,
        width: widget.width,
        decoration: BoxDecoration(
          borderRadius: BorderRadius.circular(widget.border),
          color: Colors.white,
        ),
        child: Row(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Container(
              margin: EdgeInsets.only(right: 25),
              child: Image(image: NetworkImage("https://assets.stickpng.com/thumbs/5847f9cbcef1014c0b5e48c8.png"),
                height: 35,
              ),
            ),
            Text(widget.text,
              style: TextStyle(
                color: Color(0xff848484),
                fontSize: 18,
                fontWeight: FontWeight.w500,
              ),
            ),
          ],
        )
      ),
    );
  }
}

Cuando vallan a usarlo lo pueden hacer de esta manera

ButtonAp(text: "Iniciar Sesion con Google", onPressed: (){},width: 300.0, height: 50.0,border: 3.0,)```

Recomiendo que el border radius sea un double de 3.0