Tolga çok kabaca .toDouble işe yarayacak gibi sanki. Biraz daha detaylı uğraşmak lazım ama belki fikir verir. Bi boşlukta biraz daha uğraşmaya çalışırım. Fikir güzel
import 'package:flutter/material.dart';
import 'dart:async';
void main() {
runApp(MaterialApp(
home: MyApp(),
));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
double _value = 0.0;
void _setvalue(double value) => setState(() => _value = value);
Timer _timer;
int _start = 100;
void startTimer() {
const oneSec = const Duration(seconds: 1);
_timer = new Timer.periodic(
oneSec,
(Timer timer) => setState(
() {
if (_start < 1) {
timer.cancel();
} else {
_start = _start - 1;
}
},
),
);
}
@override
void dispose() {
_timer.cancel();
super.dispose();
}
Widget build(BuildContext context) {
return Scaffold(
body: Container(
padding: EdgeInsets.all(32.0),
child: Center(
child: Column(
children: <Widget>[
Text('Value: ${(_value * 100).round()}'),
Text('Value: ${(_start.toDouble())}'),
Slider.adaptive(
min: 0,
max: 100,
value: _start.toDouble(),
onChanged: _setvalue),
RaisedButton(
onPressed: () {
startTimer();
},
child: Text("start"),
),
Text("$_start")
],
),
),
),
);
}
}