mirror of
https://github.com/alibaba/flutter-go.git
synced 2025-06-02 07:47:08 +08:00
refactor(conflict):
This commit is contained in:
@ -30,8 +30,8 @@ class _AppBarLessDefaultComplex extends State with SingleTickerProviderStateMixi
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_scrollViewController = new ScrollController();
|
||||
_tabController = new TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应
|
||||
_scrollViewController = ScrollController();
|
||||
_tabController = TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应
|
||||
}
|
||||
|
||||
@override
|
||||
@ -46,26 +46,26 @@ class _AppBarLessDefaultComplex extends State with SingleTickerProviderStateMixi
|
||||
// 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。
|
||||
// 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。
|
||||
// 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 500,
|
||||
child:new AppBar( // 大量配置属性参考 SliverAppBar 示例
|
||||
title: new Text('title'),
|
||||
leading: new Icon(Icons.home),
|
||||
child: AppBar( // 大量配置属性参考 SliverAppBar 示例
|
||||
title: Text('title'),
|
||||
leading: Icon(Icons.home),
|
||||
backgroundColor: Colors.amber[500],
|
||||
centerTitle: true,
|
||||
actions: <Widget>[
|
||||
new IconButton(
|
||||
icon: new Icon(Icons.add_alarm),
|
||||
IconButton(
|
||||
icon: Icon(Icons.add_alarm),
|
||||
tooltip: 'Add Alarm',
|
||||
onPressed: () {
|
||||
// do nothing
|
||||
}),
|
||||
new PopupMenuButton<String>(
|
||||
PopupMenuButton<String>(
|
||||
itemBuilder: (BuildContext context) => <PopupMenuItem<String>>[
|
||||
new PopupMenuItem<String>(
|
||||
value: "price", child: new Text('Sort by price')),
|
||||
new PopupMenuItem<String>(
|
||||
value: "time", child: new Text('Sort by time')),
|
||||
PopupMenuItem<String>(
|
||||
value: "price", child: Text('Sort by price')),
|
||||
PopupMenuItem<String>(
|
||||
value: "time", child: Text('Sort by time')),
|
||||
],
|
||||
onSelected: (String action) {
|
||||
switch (action) {
|
||||
@ -78,16 +78,16 @@ class _AppBarLessDefaultComplex extends State with SingleTickerProviderStateMixi
|
||||
}
|
||||
})
|
||||
],
|
||||
bottom: new TabBar(
|
||||
bottom: TabBar(
|
||||
isScrollable: true,
|
||||
controller: _tabController,
|
||||
tabs: <Widget>[
|
||||
new Tab(text: "Tabs 1"),
|
||||
new Tab(text: "Tabs 2"),
|
||||
new Tab(text: "Tabs 3"),
|
||||
new Tab(text: "Tabs 4"),
|
||||
new Tab(text: "Tabs 5"),
|
||||
new Tab(text: "Tabs 6"),
|
||||
Tab(text: "Tabs 1"),
|
||||
Tab(text: "Tabs 2"),
|
||||
Tab(text: "Tabs 3"),
|
||||
Tab(text: "Tabs 4"),
|
||||
Tab(text: "Tabs 5"),
|
||||
Tab(text: "Tabs 6"),
|
||||
],
|
||||
),
|
||||
),
|
||||
@ -107,7 +107,7 @@ class AppBarLessDefaultSimple extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 200,
|
||||
child:AppBar(
|
||||
title: Text('My Fancy Dress'),
|
||||
|
@ -62,7 +62,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDomes(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
@ -84,7 +84,7 @@ Widget allDomes(BuildContext context, _DemoState that) {
|
||||
* 带align的text
|
||||
* */
|
||||
Widget textAlignBar(String txt) {
|
||||
return new Align(
|
||||
return Align(
|
||||
alignment: FractionalOffset.centerLeft,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
|
@ -21,7 +21,7 @@ class AppBarLessDefaultSimple extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 100,
|
||||
child: Scaffold(
|
||||
//appBar: AppBar(title: const Text('Bottom App Bar')),
|
||||
|
@ -38,7 +38,7 @@ class _DemoState extends State<Demo> {
|
||||
Widget build(BuildContext context) {
|
||||
return WidgetDemo(
|
||||
title: 'BottomAppBar',
|
||||
codeUrl: 'componentss/Bar/BottomAppBar/demo.dart',
|
||||
codeUrl: 'components/Bar/BottomAppBar/demo.dart',
|
||||
contentList: [allDomes(context, this)],
|
||||
docUrl: 'https://docs.flutter.io/flutter/material/BottomAppBar-class.html',
|
||||
);
|
||||
@ -52,7 +52,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDomes(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
|
@ -44,9 +44,9 @@ class ButtonBarLessDefault extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
margin: new EdgeInsets.symmetric(vertical: 0.0),
|
||||
margin: EdgeInsets.symmetric(vertical: 0.0),
|
||||
height: 100.0,
|
||||
child: new Scrollbar(child:ListView(
|
||||
child: Scrollbar(child:ListView(
|
||||
scrollDirection: Axis.horizontal, // 水平listView
|
||||
children: <Widget>[
|
||||
ButtonBar(
|
||||
|
@ -55,7 +55,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDomes(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
|
@ -54,7 +54,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDomes(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
|
@ -44,9 +44,9 @@ class SliverAppBarLessDefault extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
for (int i = 0; i < 20; i++) {
|
||||
listData.add(new ListItem("我是测试标题$i", Icons.cake));
|
||||
listData.add( ListItem("我是测试标题$i", Icons.cake));
|
||||
}
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 500.0,
|
||||
child: NestedScrollView(
|
||||
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
|
||||
@ -89,7 +89,7 @@ class SliverAppBarLessDefault extends StatelessWidget {
|
||||
// SliverPersistentHeader(
|
||||
// delegate: _SliverAppBarDelegate(
|
||||
// TabBar(
|
||||
// controller: new TabController(length: 2, vsync: this),
|
||||
// controller: TabController(length: 2, vsync: this),
|
||||
// labelColor: Colors.black87,
|
||||
// unselectedLabelColor: Colors.grey,
|
||||
// tabs: [
|
||||
@ -101,10 +101,10 @@ class SliverAppBarLessDefault extends StatelessWidget {
|
||||
];
|
||||
},
|
||||
body: Center(
|
||||
child: new ListView.builder(
|
||||
child: ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return new ListItemWidget(listData[index]);
|
||||
return ListItemWidget(listData[index]);
|
||||
},
|
||||
itemCount: listData.length,
|
||||
),
|
||||
@ -127,10 +127,10 @@ class ListItemWidget extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new InkWell(
|
||||
child: new ListTile(
|
||||
leading: new Icon(listItem.iconData),
|
||||
title: new Text(listItem.title),
|
||||
return InkWell(
|
||||
child: ListTile(
|
||||
leading: Icon(listItem.iconData),
|
||||
title: Text(listItem.title),
|
||||
),
|
||||
onTap: () {},
|
||||
);
|
||||
|
@ -40,7 +40,7 @@ class _DemoState extends State<Demo> {
|
||||
Widget build(BuildContext context) {
|
||||
return WidgetDemo(
|
||||
title: 'SliverAppBar',
|
||||
codeUrl: 'componentss/Bar/SliverAppBar/demo.dart',
|
||||
codeUrl: 'components/Bar/SliverAppBar/demo.dart',
|
||||
contentList:[allDomes(context, this)],
|
||||
docUrl: 'https://docs.flutter.io/flutter/widgets/SliverAppBar-class.html',
|
||||
);
|
||||
@ -54,7 +54,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDomes(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
@ -71,7 +71,7 @@ Widget allDomes(BuildContext context, _DemoState that) {
|
||||
* 带align的text
|
||||
* */
|
||||
Widget textAlignBar(String txt) {
|
||||
return new Align(
|
||||
return Align(
|
||||
alignment: FractionalOffset.centerLeft,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
|
@ -23,15 +23,15 @@ class SnackBarLessDefault extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// 当BuildContext在Scaffold之前时,调用Scaffold.of(context)会报错。这时可以通过Builder Widget来解决
|
||||
return new Center(
|
||||
child: new Column(
|
||||
return Center(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
new GestureDetector(
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
final snackBar = new SnackBar(
|
||||
content: new Text('这是一个SnackBar, 右侧有SnackBarAction'),
|
||||
final snackBar = SnackBar(
|
||||
content: Text('这是一个SnackBar, 右侧有SnackBarAction'),
|
||||
backgroundColor:Colors.red,
|
||||
action: new SnackBarAction( // 提示信息上添加一个撤消的按钮
|
||||
action: SnackBarAction( // 提示信息上添加一个撤消的按钮
|
||||
textColor:Colors.black,
|
||||
label: '撤消',
|
||||
onPressed: () {
|
||||
@ -43,19 +43,19 @@ class SnackBarLessDefault extends StatelessWidget {
|
||||
);
|
||||
Scaffold.of(context).showSnackBar(snackBar);
|
||||
},
|
||||
child: new Text('显示SnackBar'),
|
||||
child: Text('显示SnackBar'),
|
||||
),
|
||||
new GestureDetector(
|
||||
GestureDetector(
|
||||
onTap: () {
|
||||
final snackBar = new SnackBar(
|
||||
content: new Text('右侧无SnackBarAction'),
|
||||
final snackBar = SnackBar(
|
||||
content: Text('右侧无SnackBarAction'),
|
||||
backgroundColor:Colors.red,
|
||||
duration:Duration(minutes: 1),// 持续时间
|
||||
//animation,
|
||||
);
|
||||
Scaffold.of(context).showSnackBar(snackBar);
|
||||
},
|
||||
child: new Text('显示无SnackBarAction的SnackBar'),
|
||||
child: Text('显示无SnackBarAction的SnackBar'),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
@ -40,7 +40,7 @@ class _DemoState extends State<Demo> {
|
||||
Widget build(BuildContext context) {
|
||||
return WidgetDemo(
|
||||
title: 'SnackBar',
|
||||
codeUrl: 'componentss/Bar/SnackBar/demo.dart',
|
||||
codeUrl: 'components/Bar/SnackBar/demo.dart',
|
||||
contentList: [allDomes(context, this)],
|
||||
docUrl: 'https://docs.flutter.io/flutter/material/SnackBar-class.html',
|
||||
);
|
||||
@ -54,7 +54,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDomes(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
@ -72,7 +72,7 @@ Widget allDomes(BuildContext context, _DemoState that) {
|
||||
* 带align的text
|
||||
* */
|
||||
Widget textAlignBar(String txt) {
|
||||
return new Align(
|
||||
return Align(
|
||||
alignment: FractionalOffset.centerLeft,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
|
@ -16,15 +16,15 @@ class SnackBarActionDemo extends StatefulWidget {
|
||||
|
||||
class _Demo extends State<SnackBarActionDemo> {
|
||||
Widget build(BuildContext context) {
|
||||
return new Center(
|
||||
child: new Column(
|
||||
return Center(
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
new RaisedButton(
|
||||
onPressed: () {
|
||||
final snackBar = new SnackBar(
|
||||
content: new Text('这是一个SnackBar, 右侧有SnackBarAction, 3秒后消失'),
|
||||
backgroundColor:Color(0xffc91b3a),
|
||||
action: new SnackBarAction( // 提示信息上添加一个撤消的按钮
|
||||
action: SnackBarAction( // 提示信息上添加一个撤消的按钮
|
||||
textColor:Colors.white,
|
||||
label: '撤消',
|
||||
onPressed: () {
|
||||
@ -37,7 +37,7 @@ class _Demo extends State<SnackBarActionDemo> {
|
||||
Scaffold.of(context).showSnackBar(snackBar);
|
||||
},
|
||||
|
||||
child: new Text('点我显示有action的SnackBar'),
|
||||
child: Text('点我显示有action的SnackBar'),
|
||||
),
|
||||
new RaisedButton(
|
||||
onPressed: () async {
|
||||
@ -49,7 +49,7 @@ class _Demo extends State<SnackBarActionDemo> {
|
||||
);
|
||||
Scaffold.of(context).showSnackBar(snackBar);
|
||||
},
|
||||
child: new Text('点我显示无SnackBarAction的SnackBar'),
|
||||
child: Text('点我显示无SnackBarAction的SnackBar'),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
@ -26,8 +26,8 @@ class _TabBarDemo extends State with SingleTickerProviderStateMixin {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_scrollViewController = new ScrollController();
|
||||
_tabController = new TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应
|
||||
_scrollViewController = ScrollController();
|
||||
_tabController = TabController(vsync: this, length: 6);// 和下面的 TabBar.tabs 数量对应
|
||||
}
|
||||
|
||||
@override
|
||||
@ -42,27 +42,27 @@ class _TabBarDemo extends State with SingleTickerProviderStateMixin {
|
||||
// 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。
|
||||
// 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。
|
||||
// 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 500,
|
||||
child:new Scaffold(
|
||||
appBar: new AppBar( // 大量配置属性参考 SliverAppBar 示例
|
||||
title: new Text('TabBar'),
|
||||
leading: new Icon(Icons.home),
|
||||
child: Scaffold(
|
||||
appBar: AppBar( // 大量配置属性参考 SliverAppBar 示例
|
||||
title: Text('TabBar'),
|
||||
leading: Icon(Icons.home),
|
||||
backgroundColor: Colors.amber[1000],
|
||||
bottom: new TabBar(
|
||||
bottom: TabBar(
|
||||
isScrollable: true,
|
||||
controller: _tabController,
|
||||
tabs: <Widget>[
|
||||
new Tab(text: "Tabs 1"),
|
||||
new Tab(text: "Tabs 2"),
|
||||
new Tab(text: "Tabs 3"),
|
||||
new Tab(text: "Tabs 4"),
|
||||
new Tab(text: "Tabs 5"),
|
||||
new Tab(text: "Tabs 6"),
|
||||
Tab(text: "Tabs 1"),
|
||||
Tab(text: "Tabs 2"),
|
||||
Tab(text: "Tabs 3"),
|
||||
Tab(text: "Tabs 4"),
|
||||
Tab(text: "Tabs 5"),
|
||||
Tab(text: "Tabs 6"),
|
||||
],
|
||||
),
|
||||
),
|
||||
body: new TabBarView(controller: _tabController, children: <Widget>[
|
||||
body: TabBarView(controller: _tabController, children: <Widget>[
|
||||
Text('TabsView 1'),
|
||||
Text('TabsView 2'),
|
||||
Text('TabsView 3'),
|
||||
|
@ -50,9 +50,9 @@ class CardLessDefault extends StatelessWidget {
|
||||
margin:EdgeInsets.all(20.0),
|
||||
// margin: EdgeInsetsDirectional.only(bottom: 30.0, top: 30.0, start: 30.0),// 边距
|
||||
semanticContainer:true, // 表示单个语义容器,还是false表示单个语义节点的集合,接受单个child,但该child可以是Row,Column或其他包含子级列表的widget
|
||||
// shape:new Border.all(
|
||||
// shape: Border.all(
|
||||
// color: Colors.indigo, width: 1.0, style: BorderStyle.solid), // 卡片材质的形状,以及边框
|
||||
shape:RoundedRectangleBorder(borderRadius: new BorderRadius.circular(20.0)), // 圆角
|
||||
shape:RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)), // 圆角
|
||||
//borderRadius: BorderRadius.all(Radius.circular(8.0)),
|
||||
child: Column( //card里面的子控件
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
|
@ -52,7 +52,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDomes(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
|
@ -19,9 +19,9 @@ class _Demo extends State<AboutDialogDemo> {
|
||||
void showAlertDialog(BuildContext context) {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (_) => new AboutDialog(
|
||||
builder: (_) => AboutDialog(
|
||||
applicationName: '名称',
|
||||
applicationIcon: new Icon(Icons.ac_unit),
|
||||
applicationIcon: Icon(Icons.ac_unit),
|
||||
applicationVersion: 'V1.0',
|
||||
children: <Widget>[
|
||||
Text('我是一个关于的dialog')
|
||||
@ -29,12 +29,12 @@ class _Demo extends State<AboutDialogDemo> {
|
||||
));
|
||||
}
|
||||
Widget build(BuildContext context) {
|
||||
return new RaisedButton(
|
||||
padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
return RaisedButton(
|
||||
padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
//padding
|
||||
child: new Text(
|
||||
child: Text(
|
||||
'show aboutDialog',
|
||||
style: new TextStyle(
|
||||
style: TextStyle(
|
||||
fontSize: 18.0, //textsize
|
||||
color: Colors.white, // textcolor
|
||||
),
|
||||
|
@ -10,12 +10,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
|
||||
class AlertDialogDemo extends StatefulWidget {
|
||||
_Demo createState() => _Demo();
|
||||
}
|
||||
class AlertDialogDemo extends StatelessWidget{
|
||||
// _Demo createState() => _Demo();
|
||||
|
||||
class _Demo extends State<AlertDialogDemo> {
|
||||
|
||||
void showAlertDialog(BuildContext context) {
|
||||
showDialog<void>(
|
||||
context: context,
|
||||
@ -122,12 +119,12 @@ class _Demo extends State<AlertDialogDemo> {
|
||||
);
|
||||
}
|
||||
Widget build(BuildContext context) {
|
||||
return new RaisedButton(
|
||||
padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
return RaisedButton(
|
||||
padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
//padding
|
||||
child: new Text(
|
||||
child: Text(
|
||||
'点我显示 AlertDialog',
|
||||
style: new TextStyle(
|
||||
style: TextStyle(
|
||||
fontSize: 18.0, //textsize
|
||||
color: Colors.white, // textcolor
|
||||
),
|
||||
@ -141,3 +138,8 @@ class _Demo extends State<AlertDialogDemo> {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// class _Demo extends State<AlertDialogDemo> {
|
||||
|
||||
|
||||
// }
|
||||
|
@ -42,12 +42,12 @@ class _Demo extends State<DialogDemo> {
|
||||
);
|
||||
}
|
||||
Widget build(BuildContext context) {
|
||||
return new RaisedButton(
|
||||
padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
return RaisedButton(
|
||||
padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
//padding
|
||||
child: new Text(
|
||||
child: Text(
|
||||
'点我显示 Dialog',
|
||||
style: new TextStyle(
|
||||
style: TextStyle(
|
||||
fontSize: 18.0, //textsize
|
||||
color: Colors.white, // textcolor
|
||||
),
|
||||
@ -108,14 +108,14 @@ class _DialogMoreDemo extends State<DialogMoreDemo> {
|
||||
);
|
||||
}
|
||||
Widget build(BuildContext context) {
|
||||
return new Column(
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
new RaisedButton(
|
||||
padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
RaisedButton(
|
||||
padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
//padding
|
||||
child: new Text(
|
||||
child: Text(
|
||||
'点我显示Dialog',
|
||||
style: new TextStyle(
|
||||
style: TextStyle(
|
||||
fontSize: 18.0, //textsize
|
||||
color: Colors.white, // textcolor
|
||||
),
|
||||
|
@ -20,17 +20,17 @@ class _Demo extends State<SimpleDialogDemo> {
|
||||
showDialog<Null>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return new SimpleDialog(
|
||||
title: new Text('选择'),
|
||||
return SimpleDialog(
|
||||
title: Text('选择'),
|
||||
children: <Widget>[
|
||||
new SimpleDialogOption(
|
||||
child: new Text('选项 1'),
|
||||
SimpleDialogOption(
|
||||
child: Text('选项 1'),
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
new SimpleDialogOption(
|
||||
child: new Text('选项 2'),
|
||||
SimpleDialogOption(
|
||||
child: Text('选项 2'),
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
@ -41,12 +41,12 @@ class _Demo extends State<SimpleDialogDemo> {
|
||||
);
|
||||
}
|
||||
Widget build(BuildContext context) {
|
||||
return new RaisedButton(
|
||||
padding: new EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
return RaisedButton(
|
||||
padding: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 10.0),
|
||||
//padding
|
||||
child: new Text(
|
||||
child: Text(
|
||||
'show SimpleDialog',
|
||||
style: new TextStyle(
|
||||
style: TextStyle(
|
||||
fontSize: 18.0, //textsize
|
||||
color: Colors.white, // textcolor
|
||||
),
|
||||
|
@ -21,7 +21,7 @@ class _Demo extends State<GridPaperDemo> {
|
||||
return Container(
|
||||
height: 400,
|
||||
color: Color(0xffc91b3a),
|
||||
child: new GridView.count(
|
||||
child: GridView.count(
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 10.0,
|
||||
crossAxisSpacing: 4.0,
|
||||
@ -40,21 +40,21 @@ class _Demo extends State<GridPaperDemo> {
|
||||
),
|
||||
GridPaper(
|
||||
color: Colors.red,
|
||||
child: new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
child: Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
],
|
||||
)
|
||||
);
|
||||
|
@ -21,7 +21,7 @@ class _Demo extends State<GridTileDemo> {
|
||||
return Container(
|
||||
height: 400,
|
||||
color: Color(0xffc91b3a),
|
||||
child: new GridView.count(
|
||||
child: GridView.count(
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 10.0,
|
||||
crossAxisSpacing: 4.0,
|
||||
@ -36,21 +36,21 @@ class _Demo extends State<GridTileDemo> {
|
||||
),
|
||||
footer: Text("GridTile footer", style: TextStyle(color: Colors.white)),
|
||||
),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
],
|
||||
)
|
||||
);
|
||||
|
@ -21,7 +21,7 @@ class _Demo extends State<GridTileDemo> {
|
||||
return Container(
|
||||
height: 400,
|
||||
color: Color(0xffc91b3a),
|
||||
child: new GridView.count(
|
||||
child: GridView.count(
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 10.0,
|
||||
crossAxisSpacing: 4.0,
|
||||
@ -38,21 +38,21 @@ class _Demo extends State<GridTileDemo> {
|
||||
child: Container(),
|
||||
|
||||
),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
],
|
||||
)
|
||||
);
|
||||
|
@ -21,7 +21,7 @@ class _Demo extends State<GridTileDemo> {
|
||||
return Container(
|
||||
height: 400,
|
||||
color: Color(0xffc91b3a),
|
||||
child: new GridView.count(
|
||||
child: GridView.count(
|
||||
crossAxisCount: 2,
|
||||
mainAxisSpacing: 10.0,
|
||||
crossAxisSpacing: 4.0,
|
||||
@ -38,21 +38,21 @@ class _Demo extends State<GridTileDemo> {
|
||||
child: Container(),
|
||||
|
||||
),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
new Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
Image.network('https://flutter.io/assets/homepage/news-2-599aefd56e8aa903ded69500ef4102cdd8f988dab8d9e4d570de18bdb702ffd4.png', scale: 1, fit: BoxFit.cover),
|
||||
],
|
||||
)
|
||||
);
|
||||
|
@ -17,34 +17,34 @@ class SliverGridDemo extends StatefulWidget {
|
||||
class _Demo extends State<SliverGridDemo> {
|
||||
|
||||
Widget showCustomScrollView() {
|
||||
return new CustomScrollView(
|
||||
return CustomScrollView(
|
||||
slivers: <Widget>[
|
||||
new SliverGrid(
|
||||
gridDelegate: new SliverGridDelegateWithMaxCrossAxisExtent(
|
||||
SliverGrid(
|
||||
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
|
||||
maxCrossAxisExtent: 200.0,
|
||||
mainAxisSpacing: 10.0,
|
||||
crossAxisSpacing: 10.0,
|
||||
childAspectRatio: 4.0,
|
||||
),
|
||||
delegate: new SliverChildBuilderDelegate(
|
||||
delegate: SliverChildBuilderDelegate(
|
||||
(BuildContext context, int index) {
|
||||
return new Container(
|
||||
return Container(
|
||||
alignment: Alignment.center,
|
||||
color: Colors.cyan[100 * (index % 5)],
|
||||
child: new Text('grid item $index'),
|
||||
child: Text('grid item $index'),
|
||||
);
|
||||
},
|
||||
childCount: 20,
|
||||
),
|
||||
),
|
||||
// new SliverFixedExtentList(
|
||||
// SliverFixedExtentList(
|
||||
// itemExtent: 100.0,
|
||||
// delegate: new SliverChildBuilderDelegate(
|
||||
// delegate: SliverChildBuilderDelegate(
|
||||
// (BuildContext context, int index) {
|
||||
// return new Container(
|
||||
// return Container(
|
||||
// alignment: Alignment.center,
|
||||
// color: Colors.lightBlue[100 * (index % 9)],
|
||||
// child: new Text('list item $index'),
|
||||
// child: Text('list item $index'),
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
|
@ -40,7 +40,7 @@ class _DemoState extends State<Demo> {
|
||||
Widget build(BuildContext context) {
|
||||
return WidgetDemo(
|
||||
title: 'SliverGrid',
|
||||
codeUrl: 'components/Grid/GridPaper/demo.dart',
|
||||
codeUrl: 'components/Grid/SliverGrid/demo.dart',
|
||||
contentList: [
|
||||
_Text0,
|
||||
SliverGridDemo(),
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_go/widgets/components/LIst/AnimatedList/model.dart';
|
||||
import 'package:flutter_go/widgets/components/List/AnimatedList/model.dart';
|
||||
|
||||
class AnimatedListFullDefault extends StatefulWidget {
|
||||
AnimatedListFullDefault({Key key, this.parent}) : super(key: key);
|
||||
@ -15,7 +15,7 @@ class AnimatedListFullDefault extends StatefulWidget {
|
||||
* AnimatedList 默认的实例,有状态
|
||||
* */
|
||||
class _AnimatedListFullDefault extends State<AnimatedListFullDefault> {
|
||||
final GlobalKey<AnimatedListState> _listKey = new GlobalKey<AnimatedListState>();
|
||||
final GlobalKey<AnimatedListState> _listKey = GlobalKey<AnimatedListState>();
|
||||
ListModel<int> _list;
|
||||
int _selectedItem;
|
||||
int _nextItem; // The next item inserted when the user presses the '+' button.
|
||||
@ -26,7 +26,7 @@ class _AnimatedListFullDefault extends State<AnimatedListFullDefault> {
|
||||
if (widget.parent is State) {
|
||||
widget.parent.animatedList = this; // 修改父级的对象引用
|
||||
}
|
||||
_list = new ListModel<int>(
|
||||
_list = ListModel<int>(
|
||||
listKey: _listKey,
|
||||
initialItems: <int>[0, 1, 2],
|
||||
removedItemBuilder: _buildRemovedItem,
|
||||
@ -50,7 +50,7 @@ class _AnimatedListFullDefault extends State<AnimatedListFullDefault> {
|
||||
}
|
||||
|
||||
Widget _buildItem(BuildContext context, int index, Animation<double> animation) {
|
||||
return new CardItem(
|
||||
return CardItem(
|
||||
animation: animation,
|
||||
item: _list[index],
|
||||
selected: _selectedItem == _list[index],
|
||||
@ -63,7 +63,7 @@ class _AnimatedListFullDefault extends State<AnimatedListFullDefault> {
|
||||
}
|
||||
|
||||
Widget _buildRemovedItem(int item, BuildContext context, Animation<double> animation) {
|
||||
return new CardItem(
|
||||
return CardItem(
|
||||
animation: animation,
|
||||
item: item,
|
||||
selected: false,
|
||||
@ -107,20 +107,20 @@ class CardItem extends StatelessWidget {
|
||||
TextStyle textStyle = Theme.of(context).textTheme.display1;
|
||||
if (selected)
|
||||
textStyle = textStyle.copyWith(color: Colors.lightGreenAccent[400]);
|
||||
return new Padding(
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(2.0),
|
||||
child: new SizeTransition(
|
||||
child: SizeTransition(
|
||||
axis: Axis.vertical,
|
||||
sizeFactor: animation,
|
||||
child: new GestureDetector(
|
||||
child: GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: onTap,
|
||||
child: new SizedBox(
|
||||
child: SizedBox(
|
||||
height: 128.0,
|
||||
child: new Card(
|
||||
child: Card(
|
||||
color: Colors.primaries[item % Colors.primaries.length],
|
||||
child: new Center(
|
||||
child: new Text('Item $item', style: textStyle),
|
||||
child: Center(
|
||||
child: Text('Item $item', style: textStyle),
|
||||
),
|
||||
),
|
||||
),
|
@ -32,7 +32,7 @@ const String _Text1 =
|
||||
|
||||
|
||||
class Demo extends StatefulWidget {
|
||||
static const String routeName = '/components//List/AnimatedList';
|
||||
static const String routeName = '/components/List/AnimatedList';
|
||||
|
||||
@override
|
||||
_DemoState createState() => _DemoState();
|
||||
@ -58,7 +58,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDemoBoxs(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
@ -25,7 +25,7 @@ class ListModel<E> {
|
||||
Iterable<E> initialItems,
|
||||
}) : assert(listKey != null),
|
||||
assert(removedItemBuilder != null),
|
||||
_items = new List<E>.from(initialItems ?? <E>[]);
|
||||
_items = List<E>.from(initialItems ?? <E>[]);
|
||||
|
||||
final GlobalKey<AnimatedListState> listKey;
|
||||
final dynamic removedItemBuilder;
|
@ -55,7 +55,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allCheckboxs(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
@ -67,7 +67,7 @@ class _DemoState extends State<Demo> {
|
||||
Widget build(BuildContext context) {
|
||||
return WidgetDemo(
|
||||
title: 'ListView',
|
||||
codeUrl: '/componentss/List/ListView/demo.dart',
|
||||
codeUrl: 'components/List/ListView/demo.dart',
|
||||
contentList: [allCheckboxs(context, this)],
|
||||
docUrl: 'https://docs.flutter.io/flutter/widgets/ListView-class.html',
|
||||
);
|
||||
@ -81,7 +81,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allCheckboxs(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
@ -107,7 +107,7 @@ Widget allCheckboxs(BuildContext context, _DemoState that) {
|
||||
* 带align的text
|
||||
* */
|
||||
Widget textAlignBar(String txt) {
|
||||
return new Align(
|
||||
return Align(
|
||||
alignment: FractionalOffset.centerLeft,
|
||||
child: Column(
|
||||
children: <Widget>[
|
@ -36,8 +36,8 @@ class _CheckedPopupMenuItemDemoState extends State<CheckedPopupMenuItemDemo> {
|
||||
_checkedValues.add(value);
|
||||
}
|
||||
|
||||
Scaffold.of(context).showSnackBar(new SnackBar(
|
||||
content: new Text('Checked $_checkedValues')));
|
||||
Scaffold.of(context).showSnackBar( SnackBar(
|
||||
content: Text('Checked $_checkedValues')));
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -19,8 +19,8 @@ class _PopupMenuButtonDemoState extends State<PopupMenuButtonDemo> {
|
||||
void showMenuSelection(String value) {
|
||||
if (<String>[_simpleValue1, _simpleValue2, _simpleValue3].contains(value))
|
||||
_simpleValue = value;
|
||||
Scaffold.of(context).showSnackBar(new SnackBar(
|
||||
content: new Text('You selected: $value')));
|
||||
Scaffold.of(context).showSnackBar( SnackBar(
|
||||
content: Text('You selected: $value')));
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@ class PopupMenuDividerDemo extends StatefulWidget {
|
||||
class _PopupMenuDividerDemoState extends State<PopupMenuDividerDemo> {
|
||||
void showInSnackBar(String value) {
|
||||
Scaffold.of(context)
|
||||
.showSnackBar(new SnackBar(content: new Text('You selected: $value')));
|
||||
.showSnackBar( SnackBar(content: Text('You selected: $value')));
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -18,7 +18,7 @@ const String content0 = '''
|
||||
const String content1 = '''
|
||||
### **基本用法**
|
||||
> 此widget通过调整Divider widget 来适应于弹出菜单中
|
||||
- 在 PopupMenuButton 中直接 new PopupMenuDivider() 即可
|
||||
- 在 PopupMenuButton 中直接 PopupMenuDivider() 即可
|
||||
''';
|
||||
|
||||
class Demo extends StatefulWidget {
|
||||
|
@ -34,7 +34,7 @@ class _DemoState extends State<Demo> {
|
||||
PopupMenuDividerDemo()
|
||||
],
|
||||
docUrl: 'https://docs.flutter.io/flutter/material/PopupMenuEntry-class.html',
|
||||
codeUrl: 'components/Menu/PopupMenuEntry/demo.dart',
|
||||
codeUrl: 'components/Menu/PopupMenuDivider/demo.dart',
|
||||
title: 'PopupMenuEntry',
|
||||
);
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ class _DemoState extends State<Demo> {
|
||||
PopupMenuDividerDemo()
|
||||
],
|
||||
docUrl: "https://docs.flutter.io/flutter/material/PopupMenuItem-class.html",
|
||||
codeUrl: 'components/Menu/PopupMenuEntry/demo.dart',
|
||||
codeUrl: 'components/Menu/PopupMenuDivider/demo.dart',
|
||||
title: 'PopupMenuItem',
|
||||
);
|
||||
}
|
||||
|
@ -40,17 +40,17 @@ class _BottomNavigationBarFullDefault extends State {
|
||||
fixedColor: Colors.deepPurple, // 如果 type 类型为 fixed,则通过 fixedColor 设置选中 item 的颜色
|
||||
items: <BottomNavigationBarItem> [
|
||||
BottomNavigationBarItem(
|
||||
title: new Text("Home"), icon: new Icon(Icons.home)),
|
||||
title: Text("Home"), icon: Icon(Icons.home)),
|
||||
BottomNavigationBarItem(
|
||||
title: new Text("List"), icon: new Icon(Icons.list)),
|
||||
title: Text("List"), icon: Icon(Icons.list)),
|
||||
BottomNavigationBarItem(
|
||||
title: new Text("Message"), icon: new Icon(Icons.message)),
|
||||
title: Text("Message"), icon: Icon(Icons.message)),
|
||||
BottomNavigationBarItem(
|
||||
title: new Text("add"), icon: new Icon(Icons.add)),
|
||||
title: Text("add"), icon: Icon(Icons.add)),
|
||||
BottomNavigationBarItem(
|
||||
title: new Text("menu"), icon: new Icon(Icons.menu)),
|
||||
title: Text("menu"), icon: Icon(Icons.menu)),
|
||||
BottomNavigationBarItem(
|
||||
title: new Text("other"), icon: new Icon(Icons.devices_other)),
|
||||
title: Text("other"), icon: Icon(Icons.devices_other)),
|
||||
|
||||
],
|
||||
);
|
||||
|
@ -57,7 +57,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allDemoBoxs(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
@ -79,7 +79,7 @@ Widget allDemoBoxs(BuildContext context, _DemoState that) {
|
||||
* 带align的text
|
||||
* */
|
||||
Widget textAlignBar(String txt) {
|
||||
return new Align(
|
||||
return Align(
|
||||
alignment: FractionalOffset.centerLeft,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
|
@ -21,20 +21,20 @@ class BottomNavigationBarItemLessDefault extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 100,
|
||||
child: Scaffold(
|
||||
bottomNavigationBar: new BottomNavigationBar(items: [
|
||||
new BottomNavigationBarItem(
|
||||
icon: new Icon(Icons.laptop_chromebook),
|
||||
title: new Text("主页"),
|
||||
bottomNavigationBar: BottomNavigationBar(items: [
|
||||
BottomNavigationBarItem(
|
||||
icon: Icon(Icons.laptop_chromebook),
|
||||
title: Text("主页"),
|
||||
backgroundColor: Colors.red
|
||||
),
|
||||
new BottomNavigationBarItem(
|
||||
icon: new Icon(Icons.list), title: new Text("分类"),backgroundColor: Colors.grey),
|
||||
new BottomNavigationBarItem(
|
||||
icon: new Icon(Icons.local_grocery_store), title: new Text("购物车")),
|
||||
new BottomNavigationBarItem(icon: new Icon(Icons.person), title: new Text("我的"))
|
||||
BottomNavigationBarItem(
|
||||
icon: Icon(Icons.list), title: Text("分类"),backgroundColor: Colors.grey),
|
||||
BottomNavigationBarItem(
|
||||
icon: Icon(Icons.local_grocery_store), title: Text("购物车")),
|
||||
BottomNavigationBarItem(icon: Icon(Icons.person), title: Text("我的"))
|
||||
],
|
||||
//onTap: onTap,
|
||||
//currentIndex: page
|
||||
@ -46,13 +46,13 @@ class BottomNavigationBarItemLessDefault extends StatelessWidget {
|
||||
|
||||
//backgroundColor: Colors.grey,
|
||||
//
|
||||
//// body: new PageView(
|
||||
//// body: PageView(
|
||||
////
|
||||
//// children: [
|
||||
//// new Index(),
|
||||
//// new Classify(),
|
||||
//// new Shopping(),
|
||||
//// new Myself()
|
||||
//// Index(),
|
||||
//// Classify(),
|
||||
//// Shopping(),
|
||||
//// Myself()
|
||||
//// ],
|
||||
////
|
||||
//// controller: pageController,
|
||||
|
@ -52,7 +52,7 @@ class _DemoState extends State<Demo> {
|
||||
*/
|
||||
Widget allCheckboxs(BuildContext context, _DemoState that) {
|
||||
return Container(
|
||||
//padding: new EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
//padding: EdgeInsets.only(bottom: 20.0, top: 20.0, left: 0, right: 0),
|
||||
child: Column(
|
||||
//mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
@ -70,7 +70,7 @@ Widget allCheckboxs(BuildContext context, _DemoState that) {
|
||||
* 带align的text
|
||||
* */
|
||||
Widget textAlignBar(String txt) {
|
||||
return new Align(
|
||||
return Align(
|
||||
alignment: FractionalOffset.centerLeft,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
|
@ -14,8 +14,8 @@ class DayPickerDemo extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _DayPickerState extends State<DayPickerDemo> {
|
||||
DateTime _date = new DateTime.now();
|
||||
TimeOfDay _time = new TimeOfDay.now();
|
||||
DateTime _date = DateTime.now();
|
||||
TimeOfDay _time = TimeOfDay.now();
|
||||
|
||||
Future<void> _selectDate(BuildContext context) async {
|
||||
final DateTime picked = await showDatePicker(
|
||||
@ -29,7 +29,7 @@ class _DayPickerState extends State<DayPickerDemo> {
|
||||
_date = picked;
|
||||
});
|
||||
|
||||
if (picked == null) _date = new DateTime.now();
|
||||
if (picked == null) _date = DateTime.now();
|
||||
}
|
||||
|
||||
Future<void> _selectTime(BuildContext context) async {
|
||||
@ -40,23 +40,23 @@ class _DayPickerState extends State<DayPickerDemo> {
|
||||
setState(() {
|
||||
_time = picked;
|
||||
});
|
||||
if (picked == null) _time = new TimeOfDay.now();
|
||||
if (picked == null) _time = TimeOfDay.now();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new Column(
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
new Text('日期选择'),
|
||||
new RaisedButton(
|
||||
child: new Text('date selected:${_date.toString()}'),
|
||||
Text('日期选择'),
|
||||
RaisedButton(
|
||||
child: Text('date selected:${_date.toString()}'),
|
||||
onPressed: () {
|
||||
_selectDate(context);
|
||||
},
|
||||
),
|
||||
new Text('时间选择'),
|
||||
new RaisedButton(
|
||||
child: new Text('date selected:${_time.toString()}'),
|
||||
Text('时间选择'),
|
||||
RaisedButton(
|
||||
child: Text('date selected:${_time.toString()}'),
|
||||
onPressed: () {
|
||||
_selectTime(context);
|
||||
},
|
||||
|
@ -14,7 +14,7 @@ class MothPickerDemo extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _MothPickerState extends State<MothPickerDemo> {
|
||||
DateTime _date = new DateTime.now();
|
||||
DateTime _date = DateTime.now();
|
||||
|
||||
Future<void> _selectDate(BuildContext context) async {
|
||||
final DateTime picked = await showDatePicker(
|
||||
@ -28,16 +28,16 @@ class _MothPickerState extends State<MothPickerDemo> {
|
||||
_date = picked;
|
||||
});
|
||||
|
||||
if (picked == null) _date = new DateTime.now();
|
||||
if (picked == null) _date = DateTime.now();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new Column(
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
new Text('日期选择'),
|
||||
new RaisedButton(
|
||||
child: new Text('date selected:${_date.toString()}'),
|
||||
Text('日期选择'),
|
||||
RaisedButton(
|
||||
child: Text('date selected:${_date.toString()}'),
|
||||
onPressed: () {
|
||||
_selectDate(context);
|
||||
},
|
||||
|
@ -14,8 +14,8 @@ class ShowDatePickerDemo extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _ShowDatePickerState extends State<ShowDatePickerDemo> {
|
||||
DateTime _date = new DateTime.now();
|
||||
TimeOfDay _time = new TimeOfDay.now();
|
||||
DateTime _date = DateTime.now();
|
||||
TimeOfDay _time = TimeOfDay.now();
|
||||
|
||||
Future<void> _selectDate(BuildContext context) async {
|
||||
final DateTime picked = await showDatePicker(
|
||||
@ -29,7 +29,7 @@ class _ShowDatePickerState extends State<ShowDatePickerDemo> {
|
||||
_date = picked;
|
||||
});
|
||||
|
||||
if (picked == null) _date = new DateTime.now();
|
||||
if (picked == null) _date = DateTime.now();
|
||||
}
|
||||
|
||||
Future<void> _selectTime(BuildContext context) async {
|
||||
@ -40,23 +40,23 @@ class _ShowDatePickerState extends State<ShowDatePickerDemo> {
|
||||
setState(() {
|
||||
_time = picked;
|
||||
});
|
||||
if (picked == null) _time = new TimeOfDay.now();
|
||||
if (picked == null) _time = TimeOfDay.now();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new Column(
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
new Text('日期选择'),
|
||||
new RaisedButton(
|
||||
child: new Text('date selected:${_date.toString()}'),
|
||||
Text('日期选择'),
|
||||
RaisedButton(
|
||||
child: Text('date selected:${_date.toString()}'),
|
||||
onPressed: () {
|
||||
_selectDate(context);
|
||||
},
|
||||
),
|
||||
new Text('时间选择'),
|
||||
new RaisedButton(
|
||||
child: new Text('date selected:${_time.toString()}'),
|
||||
Text('时间选择'),
|
||||
RaisedButton(
|
||||
child: Text('date selected:${_time.toString()}'),
|
||||
onPressed: () {
|
||||
_selectTime(context);
|
||||
},
|
||||
|
@ -14,7 +14,7 @@ class YearPickerDemo extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _YearPickerDemoState extends State<YearPickerDemo> {
|
||||
DateTime _date = new DateTime.now();
|
||||
DateTime _date = DateTime.now();
|
||||
|
||||
Future<void> _selectDate(BuildContext context) async {
|
||||
final DateTime picked = await showDatePicker(
|
||||
@ -28,16 +28,16 @@ class _YearPickerDemoState extends State<YearPickerDemo> {
|
||||
_date = picked;
|
||||
});
|
||||
|
||||
if (picked == null) _date = new DateTime.now();
|
||||
if (picked == null) _date = DateTime.now();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return new Column(
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
new Text('日期选择'),
|
||||
new RaisedButton(
|
||||
child: new Text('date selected:${_date.toString()}'),
|
||||
Text('日期选择'),
|
||||
RaisedButton(
|
||||
child: Text('date selected:${_date.toString()}'),
|
||||
onPressed: () {
|
||||
_selectDate(context);
|
||||
},
|
||||
|
@ -38,7 +38,7 @@ class _DemoState extends State<Demo> {
|
||||
content1,
|
||||
CircularDemo(),
|
||||
],
|
||||
codeUrl: '/components/Progress/CircularProgressIndicator/demo.dart',
|
||||
codeUrl: 'components/Progress/CircularProgressIndicator/demo.dart',
|
||||
docUrl:
|
||||
'https://docs.flutter.io/flutter/material/LinearProgressIndicator-class.html',
|
||||
title: 'CircularProgressIndicator');
|
||||
|
@ -38,7 +38,7 @@ class _DemoState extends State<Demo> {
|
||||
content1,
|
||||
LinearProgressIndicatorDemo(),
|
||||
],
|
||||
codeUrl: '/components/Progress/LinearProgressIndicator/demo.dart',
|
||||
codeUrl: 'components/Progress/LinearProgressIndicator/demo.dart',
|
||||
docUrl:
|
||||
'https://docs.flutter.io/flutter/material/LinearProgressIndicator-class.html',
|
||||
title: 'LinearProgressIndicator');
|
||||
|
@ -35,7 +35,7 @@ class _DemoState extends State<Demo> {
|
||||
content1,
|
||||
// LinearProgressIndicatorDemo(),
|
||||
],
|
||||
codeUrl: '/components/Progress/RefreshProgressIndicator/demo.dart',
|
||||
codeUrl: 'components/Progress/RefreshProgressIndicator/demo.dart',
|
||||
docUrl:'https://docs.flutter.io/flutter/material/RefreshProgressIndicator-class.html',
|
||||
title: 'RefreshProgressIndicator');
|
||||
}
|
||||
|
@ -37,9 +37,9 @@ class _ScaffoldDemo extends State with SingleTickerProviderStateMixin {
|
||||
// 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。
|
||||
// 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。
|
||||
// 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 500,
|
||||
child: new Scaffold(
|
||||
child: Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text('Sample Code'),
|
||||
),
|
||||
|
@ -56,7 +56,7 @@ class _DemoState extends State<Demo> {
|
||||
codeUrl: 'components/Scaffold/Scaffold/demo.dart',
|
||||
contentList: [
|
||||
_Text0,
|
||||
new ScaffoldDemo(),
|
||||
ScaffoldDemo(),
|
||||
],
|
||||
docUrl: 'https://docs.flutter.io/flutter/material/Scaffold-class.html',
|
||||
);
|
||||
|
@ -28,9 +28,9 @@ class _ScaffoldStateDemo extends State with SingleTickerProviderStateMixin {
|
||||
// 如果省略了 leading ,但 AppBar 在带有 Drawer 的 Scaffold 中,则会插入一个 button 以打开 Drawer。
|
||||
// 否则,如果最近的 Navigator 具有任何先前的 router ,则会插入BackButton。
|
||||
// 这种行为可以通过设置来关闭automaticallyImplyLeading 为false。在这种情况下,空的 leading widget 将导致 middle/title widget 拉伸开始。
|
||||
return new SizedBox(
|
||||
return SizedBox(
|
||||
height: 500,
|
||||
child:new Scaffold(
|
||||
child: Scaffold(
|
||||
key:_scaffoldKey,
|
||||
appBar: AppBar(
|
||||
title: Text('ScaffoldState Demo'),
|
||||
|
@ -11,7 +11,7 @@ class ScrollPhysicsDemo extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _ScrollPhysicsDemoState extends State<ScrollPhysicsDemo> {
|
||||
final PageController _pageController = new PageController();
|
||||
final PageController _pageController = PageController();
|
||||
double _currentPage = 0.0;
|
||||
|
||||
@override
|
||||
@ -54,21 +54,21 @@ class _SimplePage extends StatelessWidget {
|
||||
final double parallaxOffset;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => new Center(
|
||||
Widget build(BuildContext context) => Center(
|
||||
child: Container(
|
||||
color: Theme.of(context).primaryColor,
|
||||
child: new Center(
|
||||
child: new Column(
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[
|
||||
new Text(
|
||||
Text(
|
||||
data,
|
||||
style: const TextStyle(fontSize: 60.0,color: Colors.white),
|
||||
),
|
||||
new SizedBox(height: 40.0),
|
||||
new Transform(
|
||||
SizedBox(height: 40.0),
|
||||
Transform(
|
||||
transform:
|
||||
new Matrix4.translationValues(parallaxOffset, 0.0, 0.0),
|
||||
Matrix4.translationValues(parallaxOffset, 0.0, 0.0),
|
||||
child: const Text('左右滑动,这是第二行滚动速度更快的小字',style: const TextStyle(fontSize: 16.0,color: Colors.white),),
|
||||
),
|
||||
],
|
||||
|
Reference in New Issue
Block a user