menu para abrir

gerais

Denúnciar esta nota

Calculadora simples em Flutter

import 'package:flutter/material.dart';

void main(){
runApp(MaterialApp(
home: Home(),
));
}

class Home extends StatefulWidget {

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

class _HomeState extends State<Home> {

// Calculadora
TextEditingController numUmController = TextEditingController();
TextEditingController numDoisController = TextEditingController();

GlobalKey<FormState> _formKey = GlobalKey<FormState>();

String _resultadoCalculadora="Resultado: ";

void _limpaCampos(){
setState(() {
numUmController.text = "";
numDoisController.text = "";
_resultadoCalculadora = "Resultado: ";
});
}

void calcular(int operacao){
setState(() {
double numUm = double.parse(numUmController.text);
double numDois = double.parse(numDoisController.text);

double resultado = 0;

switch(operacao){
case 1:
resultado = numUm + numDois;
break;
case 2:
resultado = numUm - numDois;
break;
case 3:
resultado = numUm * numDois;
break;
case 4:
resultado = numUm / numDois;
break;
}

_resultadoCalculadora = "" + resultado.toStringAsPrecision(3);
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Calculadora"),
centerTitle: true,
backgroundColor: Colors.green,
actions: <Widget>[
IconButton(
icon: Icon(
Icons.clear
),
onPressed: _limpaCampos,
)
],
),

backgroundColor: Colors.white,

body: SingleChildScrollView(
padding: EdgeInsets.fromLTRB(10.0, 0.0, 10.0, 0.0),
child: Form(
key: _formKey,

child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Icon(
Icons.confirmation_number,
size: 120.0,
color: Colors.green),

TextFormField(
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: "Primeiro Numero",
labelStyle: TextStyle(
color: Colors.green
)
),
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.green,
fontSize: 20.0,
),
controller: numUmController,
validator: (value) {
if(value.isEmpty){
return "Insira o numero";
}
},
),

TextFormField(
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: "Segundo Numero",
labelStyle: TextStyle(
color: Colors.green
)
),
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.green,
fontSize: 20.0,
),
controller: numDoisController,
validator: (value) {
if(value.isEmpty){
return "Insira o numero";
}
},
),

Row(
children: <Widget>[

RaisedButton(
onPressed: () {
if(_formKey.currentState.validate()){
calcular(1);
}
},

child: Text(
"+",
style: TextStyle(
color: Colors.white,
fontSize: 20.0,
),
),
color: Colors.green,
),

RaisedButton(
onPressed: () {
if(_formKey.currentState.validate()){
calcular(2);
}
},

child: Text(
"-",
style: TextStyle(
color: Colors.white,
fontSize: 20.0,
),
),
color: Colors.green,
),

RaisedButton(
onPressed: () {
if(_formKey.currentState.validate()){
calcular(3);
}
},

child: Text(
"*",
style: TextStyle(
color: Colors.white,
fontSize: 20.0,
),
),
color: Colors.green,
),

RaisedButton(
onPressed: () {
if(_formKey.currentState.validate()){
calcular(4);
}
},

child: Text(
"/",
style: TextStyle(
color: Colors.white,
fontSize: 20.0,
),
),
color: Colors.green,
),

],
),

Text(
_resultadoCalculadora,
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.green,
fontSize: 20.0
),
),


],
),
),
)
);
}
}
Imagem do anúncio

Patrocinadores

Imagem do anúncio Imagem do anúncio

O QUE É O CATNOTES ?

O CATNOTES é um bloco de notas na nuvem onde se pode armazenar, organizar e pesquisar notas. As notas podem ser privadas ou publicas.

Se as notas forem privadas apenas a pessoa que as criou pode ver as suas notas. Se as notas forem publicas qualquer pessoa as pode ver mesmo que não esteja registada no Catnotes.

Qualquer pessoa pode criar notas quer esteja registada ou não. Caso não esteja registado as notas serão obrigatoriamente publicas porque não ficam associadas a nenhuma conta de utilizador. Caso a pessoa esteja registada e logada pode criar notas privadas ou notas publicas.

Todas as notas pertencem a uma categoria previamente escolhida. É possível ver apenas notas de uma determinada categoria. Também é possível pesquisar notas dentro de uma categoria ou de todas as categorias ao mesmo tempo.

Por exemplo, imagine que criou uma nota com uma receita de bolo de chocolate essa nota fica associada à categoria Receitas de bolo. Após isso, pode pesquisar chocolate e vai encontrar todas as receitas de bolo de chocolate.

Entendi