joaopaulofcc

Semana 6 - Parte 0

Sep 30th, 2020
1,037
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import 'package:flutter/material.dart';
  2. import 'Models/Produto.dart';
  3.  
  4. void main() => runApp(Mercado());
  5.  
  6. class MyApp extends StatelessWidget {
  7.   @override
  8.   Widget build(BuildContext context) {
  9.     return MaterialApp(
  10.       title: "Mercado",
  11.       home: Mercado(),
  12.     );
  13.   }
  14. }
  15.  
  16. class Mercado extends StatelessWidget {
  17.   final TextEditingController _controladorNome = TextEditingController();
  18.   final TextEditingController _controladorQuantidade = TextEditingController();
  19.   final TextEditingController _controladorValor = TextEditingController();
  20.   final TextEditingController _controladorData = TextEditingController();
  21.  
  22.   Future<void> _selectDate(context) async {
  23.     DateTime selectedDate = await showDatePicker(
  24.         context: context,
  25.         initialDate: DateTime.now(),
  26.         firstDate: DateTime(2017),
  27.         lastDate: DateTime(2021));
  28.     String resultado =
  29.         "${selectedDate.day}/${selectedDate.month}/${selectedDate.year}";
  30.     _controladorData.text = resultado;
  31.   }
  32.  
  33.   @override
  34.   Widget build(BuildContext context) {
  35.     return MaterialApp(
  36.         home: Scaffold(
  37.       appBar: AppBar(
  38.         title: Text('Cadastrando produto'),
  39.       ),
  40.       body: Column(
  41.         children: <Widget>[
  42.           TextField(
  43.               controller: _controladorNome,
  44.               decoration: InputDecoration(labelText: 'Nome')),
  45.           Padding(
  46.               padding: const EdgeInsets.only(top: 16.0),
  47.               child: TextField(
  48.                 controller: _controladorQuantidade,
  49.                 decoration: InputDecoration(labelText: 'Quantidade'),
  50.                 keyboardType: TextInputType.number,
  51.               )),
  52.           Padding(
  53.               padding: const EdgeInsets.only(top: 16.0),
  54.               child: TextField(
  55.                 controller: _controladorValor,
  56.                 decoration: InputDecoration(labelText: 'Valor'),
  57.                 keyboardType: TextInputType.number,
  58.               )),
  59.           Padding(
  60.             padding: const EdgeInsets.only(top: 16.0),
  61.             child: Row(
  62.               children: [
  63.                 Expanded(
  64.                     child: TextField(
  65.                   controller: _controladorData,
  66.                   enabled: false,
  67.                   decoration: InputDecoration(labelText: 'Data'),
  68.                 )),
  69.                 Expanded(
  70.                   child: RaisedButton(
  71.                       child: Text('Selecionar Data'),
  72.                       onPressed: () {
  73.                         _selectDate(context);
  74.                       }),
  75.                 )
  76.               ],
  77.             ),
  78.           ),
  79.           Padding(
  80.               padding: const EdgeInsets.only(top: 16.0),
  81.               child: RaisedButton(
  82.                 child: Text('Cadastrar'),
  83.                 onPressed: () {
  84.                   final String nome = _controladorNome.text;
  85.                   final int quantidade =
  86.                       int.tryParse(_controladorQuantidade.text);
  87.                   final double valor = double.tryParse(_controladorValor.text);
  88.                   final Produto produtoNovo =
  89.                       Produto(nome, quantidade, valor, _controladorData.text);
  90.                   print(produtoNovo);
  91.                 },
  92.               )),
  93.         ],
  94.       ),
  95.     ));
  96.   }
  97. }
RAW Paste Data