How to stop the spin wheel manually while rotating?
ThusithaDeepal opened this issue · 1 comments
ThusithaDeepal commented
How to stop the spin wheel manually while rotating in progress?
As example below we can start spin wheel by selected.add(1) onTap gesture detector,on while rotating how we stop it manually from code base?
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_fortune_wheel/flutter_fortune_wheel.dart';
import 'common/common.dart';
import 'router.gr.dart';
import 'util/configure_non_web.dart'
if (dart.library.html) 'util/configure_web.dart';
import 'widgets/widgets.dart';
class ExampleApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Fortune Wheel Example',
home: ExamplePage(),
);
}
}
class ExamplePage extends StatefulWidget {
@override
_ExamplePageState createState() => _ExamplePageState();
}
class _ExamplePageState extends State<ExamplePage> {
StreamController<int> selected = StreamController<int>();
@override
void dispose() {
selected.close();
super.dispose();
}
@override
Widget build(BuildContext context) {
final items = <String>[
'Grogu',
'Mace Windu',
'Obi-Wan Kenobi',
'Han Solo',
'Luke Skywalker',
'Darth Vader',
'Yoda',
'Ahsoka Tano',
];
return Scaffold(
appBar: AppBar(
title: Text('Flutter Fortune Wheel'),
),
body: GestureDetector(
onTap: () {
setState(() {
selected.add(
Fortune.randomInt(0, items.length),
);
});
},
child: Column(
children: [
Expanded(
child: FortuneWheel(
selected: selected.stream,
items: [
for (var it in items) FortuneItem(child: Text(it)),
],
),
),
],
),
),
);
}
}
void main() {
configureApp();
runApp(DemoApp());
}
class DemoApp extends StatefulWidget {
@override
_DemoAppState createState() => _DemoAppState();
}
class _DemoAppState extends State<DemoApp> {
final _appRouter = AppRouter();
@override
Widget build(BuildContext context) {
return ThemeModeScope(
builder: (context, themeMode) {
return MaterialApp.router(
title: 'Fortune Wheel Demo',
theme: lightTheme,
darkTheme: darkTheme,
themeMode: themeMode,
routerDelegate: _appRouter.delegate(),
routeInformationParser: _appRouter.defaultRouteParser(),
);
},
);
}
}
stale commented
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.