Let's take as an example started project generated by the VSCode dart extension.
It looks like this:
main.dart
:
import 'package:flutter/material.dart';
void main() {
runApp(const MainApp());
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: Text('Hello World!'),
),
),
);
}
}
Let's create a separate file for the home
property widget.
First, create home.dart
file:
import 'package:flutter/material.dart';
class Home extends StatelessWidget{
@override
Widget build(BuildContext context) {
// TODO: implement build
throw UnimplementedError();
}
}
Now we need:
- to return the
Scaffold
widget from the Home
build
method
- to replace the value of the
home
property of MaterialApp
with Home()
.
home.dart
:
import 'package:flutter/material.dart';
class Home extends StatelessWidget{
const Home({super.key});
@override
Widget build(BuildContext context) {
return Scaffold (
body: const Center(
child: Text('Hello World!'),
)
);
}
}
main.dart
import 'package:flutter/material.dart';
import 'home.dart';
void main() {
runApp(const MainApp());
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Home(),
);
}
}