Inicio » Cursos » Flutter y Laravel App de Turismo

Curso Flutter y Laravel App de Turismo

Capitulo 28 ➜ Pantalla Lugar Turístico

Pantalla Lugar Turístico

Implementación Pantalla Lugar turístico que mostrará información

En esta pantalla mostraremos información del lugar turístico de forma sencilla donde consumiremos el parámetro que recibimos de la lista de lugares

En esta pantalla mostraremos información del lugar turístico de forma sencilla donde consumiremos el parámetro que recibimos de la lista de lugares .

import 'package:app/basededatos/DBmanager.dart';
import 'package:app/basededatos/Lugar.dart';
import 'package:app/pantallas/PantallaFoto.dart';
import 'package:flutter/material.dart';

var basededatos = new DBmanager();
class pantallaLugar extends StatefulWidget {
  Lugar lugar;
  pantallaLugar(this.lugar);
  @override
  _pantallaLugarState createState() => _pantallaLugarState(this.lugar);
}

class _pantallaLugarState extends State<pantallaLugar> {
  Lugar _lugar;
  _pantallaLugarState(this._lugar);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(_lugar.nombre),),
      body: Container(
        alignment: Alignment.topCenter,
        child: Column(
          children: [
            Image.network("http://192.168.1.4/appturismo/public/img/lugar/"+_lugar.urlfoto),
            Text(_lugar.descripcion),
            Flexible(
                child: FutureBuilder(
                  future: basededatos.obtenerFotos("lugar_id="+_lugar.id.toString()),
                  builder: (c,s){
                    if(s.hasData){
                      return GridView.builder(
                        itemCount: s.data == null ? 0 : s.data.length,

                          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                            crossAxisCount: 2,
                            childAspectRatio: MediaQuery.of(context).size.width/(MediaQuery.of(context).size.height/1.5)
                          ),
                          itemBuilder: (_c,_i){
                            return GestureDetector(
                              onTap: (){
                                Navigator.of(context).push(MaterialPageRoute(
                                    builder: (BuildContext) =>
                                        pantallaFoto(s.data[_i])));

                              },
                              child: Container(
                                child: Column(
                                  children: [
                                    Image.network("http://192.168.1.4/appturismo/public/img/foto/"+s.data[_i].urlfoto),
                                    Text(s.data[_i].nombre)
                                  ],
                                ),
                              ),
                            );
                          }
                      );
                    }else{
                      return Center(child: Text("No hay fotos"),);
                    }
                  },

            )
            )
          ],
        ),
      ),
    );
  }
}

 


816 visitas

Sigue con el curso: Capítulo 29 – Pantalla Foto360

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

Más cursos que pueden interesarte

Más cursos

Codea Codea App

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

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023