1_MaterialPageRoute
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
title: 'Navigation Basics',
home: FirstScreen(),
));
}
class FirstScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('First Screen'),
),
body: Center(
child: RaisedButton(
child: Text('Launch screen'),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondScreen()),
);
},
),
),
);
}
}
class SecondScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Second Screen"),
),
body: Center(
child: RaisedButton(
onPressed: () {
Navigator.pop(context);
},
child: Text('Go back!'),
),
),
);
}
}
复制代码
2_Image(图片)
详细步骤查看第10个视频
2.1_本地图片
新建一个包并把本地图片添加在包中
pubspec.yaml
assets:
- lib/images/
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
var title = 'Web Images';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: Image.asset('lib/images/flutter.png'),
),
);
}
}
复制代码
3_AlertDialog(警告对话框)
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: MyHome(),
));
}
class MyHome extends StatefulWidget {
@override
MyHomeState createState() => MyHomeState();
}
class MyHomeState extends State<MyHome> {
// Generate dialog
AlertDialog dialog = AlertDialog(
content: Text(
"Hello World!",
style: TextStyle(fontSize: 30.0),
));
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Using Alert Dialog"),
),
body: Container(
child: Center(
child: RaisedButton(
child: Text("Hit to alert!"),
// On press of the button
onPressed: () {
// Show dialog
showDialog(context: context, builder: (BuildContext context) => dialog);
}),
),
));
}
}
复制代码