en versiones nuevas de flutter (2020) se utiliza label en lugar de title y para ocultarlos debemos utilizar las propiedades marcas en la imagen, de esa manera los iconos se acomodan correctamente y no quedan mas arriba como si tuvieran texto abajo
Bienvenida e Introducción
¡Renovaremos este curso!
Desarrollando en Flutter
¿Qué es Flutter?
Dart y Flutter
Sintaxis de Dart
¡Renovaremos este curso!
Flutter para desarrolladores Android, iOS y Xamarin.forms
Flutter para desarrolladores React Native
¿Cómo luce una app construída en Flutter?
Primer reto
Creando mi entorno de desarrollo
¡Renovaremos este curso!
Requerimientos de Hardware y Software
Instalando Flutter en Android Studio y Visual Studio Code
Composición de un proyecto en Flutter
Interfaces en Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Programación Declarativa en Flutter
Estructura de un programa en Flutter
Hola Mundo en Flutter
Widgets básicos
Widgets con estado y sin estado
Análisis de Interfaces de Usuario en Flutter
Definiendo los layouts de nuestra interfaz
Segundo reto
Widgets sin estado en Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Flutter Widgets: Container, Text, Icon, Row
Flutter Widgets: Column
Recursos en Flutter: Tipografías y Google Fonts
Widget Image
Widget Apilando Textos
Widgets Decorados
Widget Imagen Decorada
Widget Listview
Widget Button, InkWell
Tercer reto
Widgets con estado en Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Botones en Flutter
Clase StatefulWidget: Cómo se compone
Widget Floating Action Button
Widgets BottomNavigationBar
Generando Navegación en BottomNavigationBar
Personalizando nuestro BottomNavigation Bar a Cupertino iOS BottomBar
Cuarto reto
Fin del Curso
¡Renovaremos este curso!
Conclusiones
¡Terminamos!
You don't have access to this class
Keep learning! Join and start boosting your career
To complete the operation of our BottomNavigationBar we will define the onTapTapped()
method that will contain the logic for the navigation between the different views of our application in response to the interaction with the user, and that will be assigned to the onTap
property.
To control the change of views we use precisely the mutability condition of the widget by modifying the indexTap
variable with the setState()
function, setting it to the value of the index that receives the onTapTapped()
method as a parameter and that refers to the position of the BottomNavigationBarItem
that was pressed. Assigning the value of this index to the currentIndex
property will automatically change the view due to the reactive behavior of this type of stateful widgets.
Contributions 25
Questions 3
en versiones nuevas de flutter (2020) se utiliza label en lugar de title y para ocultarlos debemos utilizar las propiedades marcas en la imagen, de esa manera los iconos se acomodan correctamente y no quedan mas arriba como si tuvieran texto abajo
Así va quedando: ¡Golden Boys BARBERSHOP!
Llegar a este punto y que todo valla segun lo planeado es muy emocionante.
Aún me hace falta hacerle cambios a la tipografía más que nada, pero ya me va gustando más
Sin querer ya tengo una noción de como hacer una app básica, sin duda me será de ayuda 😃
Han cambiado algunas cositas desde que se hizo el curso, gracias a todos los que siguen aportando agregué estos parametros en el widget BottomNavigationBar.
BottomNavigationBar(
showSelectedLabels: false, // No mostrar Labels seleccionado
showUnselectedLabels: false, // tampoco no seleccionado
onTap: onTapTapped,
currentIndex: indexTap,
selectedItemColor: Colors.deepPurple, //para mostrar color
unselectedItemColor: Colors.deepPurpleAccent, //para mostrar color
)
Generando una lista de Widget se podría solucionar la cantidad de estrellas completas, medias o vacías que vimos en las clases anteriores, o hay una mejor manera para ello?
Si les sucede como a mi que Theme no está aplicando el color morado a los iconos del bottom navigation bar, pueden asignarles colores y comportamientos agregando estos parametros en el widget BottomNavigationBar.
BottomNavigationBar(
onTap: onTapTapped,
currentIndex: indexTap,
selectedItemColor: Colors.deepPurple,
unselectedItemColor: Colors.deepPurpleAccent,
)
Una pestaña en inglés es “tab”, pienso que el método quedaría mejor: onTabTapped o quizás mejor onTabSelected. Pareciera sin mucha importancia, pero nombrar bien los methods es una buena práctica de arquitectura, pensando en el trabajo en equipo.
Ayuda mi bottomNavigationBar sale así,
.copyWith(
canvasColor: Colors.white,
primaryColor: Colors.purple
),
child: BottomNavigationBar(
onTap: onTapTapped,
currentIndex: index,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text("")
),
BottomNavigationBarItem(
icon: Icon(Icons.search),
title: Text("")
),
BottomNavigationBarItem(
icon: Icon(Icons.settings),
title: Text("")
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
title: Text("")
)
],
),
),
Se ve tan genial tener ambos emuladores con las apps funcionandos hasta este paso! 🤩
Alguien sabe si hay algun repositorio en github donde este le proyecto?
.
.
tambien se puede trabajar asi
final tabs = [
HomeTrips(),
SearchTrips(),
ProfileTrips()
];
return CupertinoTabView(
builder: (BuildContext context) => tabs[index],
);
Si no te funciona el cambio de pantalla, revisa que el orden de la función y la anotación @override.
int indexTap = 0;
final List<Widget> listWidgtes = [
Home(),
Search(),
ProfileTrips()
];
void onTapTapped(int index) {
setState(() {
indexTap = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
Hasta el momento todo bien, 😁
El mejor curso
excelente cursooo
Un excelente curso
Hola como estan , tengo el siguiente error cuando navego entre las pestañas del profile y search.
════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following Container object was thrown building SearchTrips(dirty):
Container(bg: MaterialAccentColor(primary value: Color(0xffffd740)))
The relevant error-causing widget was:
SearchTrips file:///C:/Users/Lenovo/AndroidStudioProjects/platzi_trips_app/lib/platzi_trips.dart:23:7
When the exception was thrown, this was the stack:
#0 SearchTrips.build (package:platzi_trips_app/search_trips.dart:7:5)
#1 StatelessElement.build (package:flutter/src/widgets/framework.dart:4576:28)
#2 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4502:15)
#3 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
#4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5)
Para agregar mas de tres iconos
child: BottomNavigationBar(
type: BottomNavigationBarType.fixed, //Cambiamos el tipo de la barra de navegación a fixed
onTap: onTapTapped,
currentIndex: indexTap,
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home),
title: Text("")
),
BottomNavigationBarItem(
icon: Icon(Icons.search),
title: Text("")
),
BottomNavigationBarItem(
icon: Icon(Icons.place),
title: Text("")
),
BottomNavigationBarItem(
icon: Icon(Icons.notifications),
title: Text("")
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
title: Text("")
),
])
Want to see more contributions, questions and answers from the community?