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