diff options
author | Orangerot <purple@orangerot.dev> | 2024-12-22 17:41:14 +0100 |
---|---|---|
committer | Orangerot <purple@orangerot.dev> | 2024-12-22 17:41:14 +0100 |
commit | 9aaf00e6275616f4ff3086b0fb4ae98c2036c4fb (patch) | |
tree | 23f454309f364c664c145c859f9a8866e32e0b26 /lib/level.dart | |
parent | c979904f95c2451fed5bba5d83fe9a7244c39ae3 (diff) |
feat: level layout
Diffstat (limited to 'lib/level.dart')
-rw-r--r-- | lib/level.dart | 61 |
1 files changed, 61 insertions, 0 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), + ); + } +} |