feat: level layout
This commit is contained in:
parent
c979904f95
commit
9aaf00e627
61
lib/level.dart
Normal file
61
lib/level.dart
Normal file
|
@ -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),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -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)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue