Curso Flutter y Laravel Tienda Delivery

Implementación de la pantalla Productos

Implementación Pantalla Productos organizados por subcategorias, para que el usuario vea los productos según la categoría elegida.

Lección 44 del Curso Flutter y Laravel Tienda Delivery

Implementación de la pantalla Productos

POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO DE POR VIDA
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Flutter y Laravel Tienda Delivery

¿Cómo implementar la Pantalla de Productos en Flutter?

DESCRIPCIÓN DE LA LECCIÓN

Implementación Pantalla Productos organizados por Subcategorias

En esta sección usaremos una combinación de Widgets Lisview y GridView para mostrar las subcategorias con sus correspondientes productos.

  1. Se recibe el ID del producto enviado como parámetro desde la PantallaCategoria
  2. Se realiza una consulta para extraer las Subcategorias correspondientes a dicha categorìa
  3. Se extrae y muestra los productos que sean conincidentes con la Subcategoria.
import 'dart:convert';

import 'package:arequipalocal/api/Api.dart';
import 'package:arequipalocal/basededatos/Bd.dart';
import 'package:arequipalocal/carrito/CarritoCompra.dart';
import 'package:arequipalocal/modelo/Categoria.dart';
import 'package:arequipalocal/pantalla/PantallaCarrito.dart';
import 'package:arequipalocal/pantalla/PantallaInicio.dart';
import 'package:arequipalocal/pantalla/PantallaProducto.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:provider/provider.dart';

class PantallaProductos extends StatefulWidget {
  PantallaProductos(this.categoria);
  Categoria categoria;
  @override
  _PantallaProductosState createState() =>
      _PantallaProductosState(this.categoria);
}

var BD = DBHelper();

class _PantallaProductosState extends State<PantallaProductos> {
  final GlobalKey<ScaffoldState> _globalKey = new GlobalKey<ScaffoldState>();

  _PantallaProductosState(this.categoria);
  Categoria categoria;

  @override
  Widget build(BuildContext context) {
      return Scaffold(
        key: _globalKey,
        appBar: AppBar(
            title: Text(categoria.nombre),
            
        ),
        backgroundColor: Colors.orangeAccent,
        body: Container(
          child: ListView(
            shrinkWrap: true,
            physics: ScrollPhysics(),
            children: <Widget>[
              Container(
                child: FutureBuilder(
                  ...
                  builder: (context, datos) {
                    if (datos.hasData) {
                      return ListView.builder(
                          ....

                          itemCount:
                          datos.data.length == null ? 0 : datos.data.length,
                          itemBuilder: (c, i) {
                            return Column(
                              children: <Widget>[
                               ....
                                Container(
                                  child: FutureBuilder(
                                      ....
                                      builder: (ccontext, ddatos) {
                                        if (ddatos.hasData) {
                                          return GridView.builder(
                                              
                                              .....
                                              itemBuilder: (cc,ii){
                                                return Container(
                                                  ....
                                                  child: Column(
                                                    children: <Widget>[
                                                      GestureDetector(
                                                        .....
                                                    ],
                                                  ),
                                                );
                                              });
                                        } else {
                                          return CircularProgressIndicator();
                                        }
                                      }),
                                )
                              ],
                            );
                          });
                    } else {
                      return CircularProgressIndicator();
                    }
                  },
                ),
              )
            ],
          ),
        ),
      );
   

  }

}

POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO DE POR VIDA
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Flutter y Laravel Tienda Delivery

192 visitas

Lecciones del curso

VER MÁS CURSOS
Logo Codea App

Develop your code

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020 - 2021