import 'package:flutter/material.dart';
class ProjectStructureScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Project Structure'),
),
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('android/', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18)),
SizedBox(height: 4),
Text('Android native code', style: TextStyle(color: Colors.grey[700])),
SizedBox(height: 16),
Text('ios/', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18)),
SizedBox(height: 4),
Text('iOS native code', style: TextStyle(color: Colors.grey[700])),
SizedBox(height: 16),
Text('lib/', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18)),
SizedBox(height: 4),
Text('Dart code folder', style: TextStyle(color: Colors.grey[700])),
SizedBox(height: 8),
Padding(
padding: EdgeInsets.only(left: 16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('main.dart', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16)),
SizedBox(height: 2),
Text('App entry point', style: TextStyle(color: Colors.grey[700])),
],
),
),
SizedBox(height: 16),
Text('test/', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18)),
SizedBox(height: 4),
Text('Test files', style: TextStyle(color: Colors.grey[700])),
SizedBox(height: 16),
Text('pubspec.yaml', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18)),
SizedBox(height: 4),
Text('Project config and dependencies', style: TextStyle(color: Colors.grey[700])),
],
),
),
);
}
}
This screen uses a Column to list the main folders and files of a Flutter project.
Each item has a bold title and a smaller description below it with some spacing for clarity.
The Padding widget adds space around the content so it doesn't touch screen edges.
This simple layout helps beginners understand the basic Flutter project structure visually.