Escolher um valor com um controle deslizante
Parte da seção Tornando o app interativo do Journey de Flutter da Coddy. Lição 29 de 34.
Um Slider escolhe um número de um intervalo ao arrastar. Como um interruptor, ele desenha seu value: e chama onChanged com o novo valor:
Slider(
value: _size,
min: 0,
max: 50,
divisions: 5,
onChanged: (double value) {
setState(() {
_size = value;
});
},
)min: e max: são os dois extremos. divisions: faz com que ele avance em etapas: 5 divisões de 0 a 50 significam 0, 10, 20, 30, 40 e 50. Sem isso, qualquer valor intermediário é possível. Você também pode tocar na trilha, e o controle deslizante salta até lá.
O valor é sempre um double, então é exibido como 20.0. _size.round() arredonda para o número inteiro mais próximo, um int, que é exibido como 20.
Desafio
Fácil- Faça o controle deslizante se mover: armazene seu valor em
_volumecomsetState. - Mostre o volume como um número inteiro abaixo dele:
Volume: 20, nãoVolume: 20.0.
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> {
double _volume = 20;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Sound')),
body: Padding(
padding: const EdgeInsets.all(24),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Icon(Icons.volume_up, size: 64),
Slider(
value: _volume,
min: 0,
max: 100,
divisions: 10,
onChanged: (double value) {},
),
Text('Volume: ?', style: const TextStyle(fontSize: 24)),
],
),
),
);
}
}
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 deslizantePratique por conta própria: Compilador de Flutter online