diff options
-rw-r--r-- | lib/level.dart | 61 | ||||
-rw-r--r-- | lib/level_selection.dart | 10 |
2 files changed, 67 insertions, 4 deletions
diff --git a/lib/level.dart b/lib/level.dart new file mode 100644 index 0000000..c92658b --- /dev/null +++ b/lib/level.dart @@ -0,0 +1,61 @@ +import 'package:flutter/material.dart'; + +class Level extends StatelessWidget { + const Level({super.key}); + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + leading: Icon(Icons.pause), + title: Text('Level 1'), + actions: [ + IconButton( + icon: Icon(Icons.close), + onPressed: () => Navigator.pop(context)) + ], + ), + body: Stack(children: [ + Arrow( position: -100.0,), + Arrow( position: 00.0,), + Arrow( position: 100.0,), + Arrow( position: 200.0,), + Positioned( + top: 50, + width: MediaQuery.of(context).size.width, + left: 0, + child: Text( + "Great!", + textScaler: TextScaler.linear(4), + textAlign: TextAlign.center, + ), + ), + Positioned( + left: MediaQuery.of(context).size.width / 2 - 50, + bottom: 50, + child: Container( + width: 100, + height: 100, + decoration: BoxDecoration( + shape: BoxShape.circle, + // color: Colors.blue, + border: Border.all(color: Colors.black, width: 10)), + ), + ), + ])); + } +} + +class Arrow extends StatelessWidget { + final double position; + + const Arrow({super.key, required this.position}); + + @override + Widget build(BuildContext context) { + return Positioned( + left: MediaQuery.of(context).size.width / 2 - 25, // Center the arrow + top: position, + child: Icon(size: 100, Icons.arrow_forward), + ); + } +} diff --git a/lib/level_selection.dart b/lib/level_selection.dart index c63c8c3..a5a9c32 100644 --- a/lib/level_selection.dart +++ b/lib/level_selection.dart @@ -1,5 +1,7 @@ import 'package:flutter/material.dart'; +import 'level.dart'; + class LevelSelection extends StatelessWidget { final List<String> _musicList = [ "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3", @@ -26,13 +28,13 @@ class LevelSelection extends StatelessWidget { trailing: Icon(Icons.play_arrow), title: Text('Track ${index + 1}'), subtitle: Text('3:45'), + onTap: () => Navigator.push(context, + MaterialPageRoute(builder: (BuildContext context) => Level())), ); }, ), - floatingActionButton: FloatingActionButton( - onPressed: () => {}, - child: Icon(Icons.add) - ), + floatingActionButton: + FloatingActionButton(onPressed: () => {}, child: Icon(Icons.add)), ); } } |