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 'package:flutter/material.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import 'level.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LevelSelection extends StatelessWidget {
 | 
					class LevelSelection extends StatelessWidget {
 | 
				
			||||||
  final List<String> _musicList = [
 | 
					  final List<String> _musicList = [
 | 
				
			||||||
    "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3",
 | 
					    "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3",
 | 
				
			||||||
| 
						 | 
					@ -26,13 +28,13 @@ class LevelSelection extends StatelessWidget {
 | 
				
			||||||
            trailing: Icon(Icons.play_arrow),
 | 
					            trailing: Icon(Icons.play_arrow),
 | 
				
			||||||
            title: Text('Track ${index + 1}'),
 | 
					            title: Text('Track ${index + 1}'),
 | 
				
			||||||
            subtitle: Text('3:45'),
 | 
					            subtitle: Text('3:45'),
 | 
				
			||||||
 | 
					            onTap: () => Navigator.push(context,
 | 
				
			||||||
 | 
					                MaterialPageRoute(builder: (BuildContext context) => Level())),
 | 
				
			||||||
          );
 | 
					          );
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      ),
 | 
					      ),
 | 
				
			||||||
       floatingActionButton: FloatingActionButton(
 | 
					      floatingActionButton:
 | 
				
			||||||
       onPressed: () => {},
 | 
					          FloatingActionButton(onPressed: () => {}, child: Icon(Icons.add)),
 | 
				
			||||||
       child: Icon(Icons.add)
 | 
					 | 
				
			||||||
      ),
 | 
					 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue