wmh_progress 0.0.1 wmh_progress: ^0.0.1 copied to clipboard
A new flutter plugin project.
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:wmh_progress/wmh_progress.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
debugShowCheckedModeBanner: false,
home: MyAppStateful(),
);
}
}
class MyAppStateful extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyAppStateful> {
String _platformVersion = 'Unknown';
Timer _timer;
final period = const Duration(seconds: 1);
int progress = 0;
@override
void dispose() {
// TODO: implement dispose
super.dispose();
if (_timer != null) {
_timer.cancel();
_timer = null;
}
}
timeStart() {
_timer = Timer.periodic(period, (timer) {
setState(() {
print(progress.toString());
progress += 1;
});
if (progress == 100) {
_timer.cancel();
_timer = null;
}
});
}
@override
void initState() {
super.initState();
initPlatformState();
timeStart();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future<void> initPlatformState() async {
String platformVersion;
// Platform messages may fail, so we use a try/catch PlatformException.
// try {
// platformVersion = await wmhProgressView.platformVersion;
// } on PlatformException {
// platformVersion = 'Failed to get platform version.';
// }
// If the widget was removed from the tree while the asynchronous platform
// message was in flight, we want to discard the reply rather than calling
// setState to update our non-existent appearance.
if (!mounted) return;
setState(() {
_platformVersion = platformVersion;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: GestureDetector(
child:
WMHAnimateWaveProgress(
value: progress,
waveColor: Colors.redAccent,
lightWaveColor: Colors.redAccent[100],
circleProgressColor: Colors.blue,
circleProgressBGColor: Colors.blueGrey,
progressAnimateDuration: Duration(milliseconds: 2000),
waveHeight: 40,
circleSize: Size(200, 200),
),
),
),
);
}
}