创建第一个项目:
import 'package:flutter/material.dart';
void main() {
runApp(new Center(
child: new Text("hello world,",textDirection: TextDirection.ltr,),
));
}
也可以这么书写:
import 'package:flutter/material.dart';
void main() {
runApp(MyCenter());
}
class MyCenter extends Center{
@override
// TODO: implement child
Widget get child => new Text("hello world,",textDirection: TextDirection.ltr,);
}
显示一个materialApp
import 'package:flutter/material.dart';
void main() {
runApp(MyMaterialApp());
}
class MyMaterialApp extends MaterialApp{
@override
// TODO: implement title
String get title => "我的应用";
@override
// TODO: implement theme
ThemeData get theme => new ThemeData(primaryColor: Colors.white,);
@override
// TODO: implement home
Widget get home => new MyScaffold();
}
/**
* 状态不可以变 StatelessWidget
*/
class MyScaffold extends StatelessWidget{
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Material(
child: new Scaffold(
//标题栏
appBar: new AppBar(title: new Text("标题栏",style: Theme.of(context).primaryTextTheme.title)),
//内容区
body: MyCenter(),
),
);
}
}
class MyCenter extends Center{
@override
// TODO: implement child
Widget get child => new Text("hello world,",textDirection: TextDirection.ltr,);
}
一个购物商场的界面
//一个购物商场的界面
class TutorialHome extends StatelessWidget{
@override
Widget build(BuildContext context) {
return new Scaffold(
//appBar用于显示一个应用栏在其Scaffold顶部
appBar:
new AppBar(
leading: new IconButton(icon: new Icon(Icons.menu), tooltip: "导航菜单",onPressed: null),
title: new Text("江西商场"),
actions: <Widget>[new IconButton(icon: new Icon(Icons.shopping_cart), tooltip: "open shopping cart",onPressed: openCart)],
),
body: new MyCenter(),
);
}
void openCart() {
print("open shopping cart");
}
}
card
//card布局
class MyCard extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return new MyCardState();
}
}
class MyCardState extends State<MyCard>{
var _throwShotAway = false;
@override
Widget build(BuildContext context) {
return new Card(
child: new ListTile(
title: new Text("xxxx"),
subtitle: new Text("xxxxxxxx"),
leading: new Icon(Icons.email, color: Colors.blueAccent),
trailing:new Checkbox(value: _throwShotAway, onChanged: null)
),
);
}
}
listView
//listview
class MyListView extends StatelessWidget {
final title = 'list';
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: "list",
home:
new Scaffold(appBar: new AppBar(title: new Text(title),),
body: new Center(child: new ListView(children: <Widget>[ _getView('map',Icons.map),_getView('map',Icons.map),_getView('map',Icons.map)],),),
),
);
}
Widget _getView(String test,IconData icon){
return new Container(width: 160,
child: new ListTile(
leading: new Icon(icon),
trailing: new Icon(icon),
title: new Text(test),
subtitle:new Text("我是subtitle") ,
),);
}
}