Decisões com if e else
Parte da seção Tornando o app interativo do Journey de Flutter da Coddy. Lição 18 de 34.
if executa o código somente quando algo é verdadeiro. else executa outro código quando não é:
if (_count < 10) {
_count++;
} else {
print('Full');
}O que vai entre parênteses é uma comparação, que resulta em um valor booleano: verdadeiro ou falso.
a == b: a é igual a b (dois sinais de igual; um é usado para atribuir um valor a uma variável)a != b: a não é igual a ba < bea > b: menor que, maior quea <= bea >= b: menor ou igual, maior ou igual
Fique atento ao limite: com 8 copos, _glasses < 8 é falso, mas _glasses <= 8 ainda é verdadeiro e permite um nono copo.
Dentro da classe State, context está disponível em todos os métodos, não apenas em build, então um método também pode exibir uma SnackBar.
Desafio
FácilOito copos de água por dia são suficientes. Altere _drink para que adicione um copo somente enquanto houver menos de 8. Caso contrário, ele exibirá uma SnackBar com a mensagem That is enough for today.
Experimente você mesmo
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
int _glasses = 0;
void _drink() {
setState(() {
_glasses++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Water')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text('Glasses today: $_glasses', style: const TextStyle(fontSize: 24)),
const SizedBox(height: 16),
ElevatedButton(onPressed: _drink, child: const Text('Drink a glass')),
],
),
),
);
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Tornando o app interativo
1Botões
Seu primeiro botãoImprimir no consoleBotões de texto e contornoBotões com íconesO botão de ação flutuante7Interruptores e controles deslizantes
Ligar e desligar com um interruptorMarcar uma caixa de seleçãoEscolher um valor com um controle deslizante5Decisões
bool e o operador ?: Decisões com if e elseAnd, Or e Not em DartExibir e ocultar um widgetDesativar visualmente um botãoPratique por conta própria: Compilador de Flutter online