欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

Flutter 布局

发表日期:2018-12 文章编辑:小灯 浏览次数:2285

flutter布局

flutter部分分两种,一种是单个子控件的布局一种是多个子控件的布局

常用的单个子控件布局

Align

里面可以包含一个子控件,这个布局可以控制子控件距离上下左右的距离。

主要属性:

constAlign({    Keykey,this.alignment = Alignment.center,this.widthFactor,this.heightFactor,    Widget child  }) :assert(alignment !=null),assert(widthFactor ==null|| widthFactor >=0.0),assert(heightFactor ==null|| heightFactor >=0.0),super(key:key, child: child);

Center

它继承于Align。也就是默认属性是this.alignment = Alignment.center,也就是这个控件总是在布局在的中间。

Padding

官方举例

Padding(padding: EdgeInsets.all(8.0),  child: const Card(child: Text('Hello World!')),)

主要使用属性:padding。设置子控件距离布局上下左右的距离。

我的应用:距离上下左右一定的距离

classFirstScreenextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext) {returnScaffold(      appBar:AppBar(        title:Text("Stone"),      ),      body:Padding(        padding:EdgeInsets.only(          left:10.0,// top:20.0,          right:50.0,          bottom:10.0,        ),        child:RaisedButton(            child:Text("点击我"),            onPressed: () {/*Navigator.push(

                  context,

                  MaterialPageRoute(builder: (context) => SecondScreen()));*///_navigateAndDisplaySelection(context);_neverSatisfied("石头",context: context);            }        )    ),    );  }

Container

官方文档位置:https://docs.flutter.io/flutter/widgets/Container-class.html

这个控件可是设置pading和magin。 我的应用:

classFirstScreenextendsStatelessWidget{@overrideWidget build(BuildContext context) {returnScaffold(backgroundColor: Colors.blue,appBar: AppBar(title: Text("Stone"),      ),body: Container(color: Colors.red,margin: EdgeInsets.only(left:10.0,top:30.0,right:50.0,bottom:12.0),padding: EdgeInsets.only(left:10.0),child: RaisedButton(child: Text("点击我"),onPressed: () {/*Navigator.push(

                  context,

                  MaterialPageRoute(builder: (context) => SecondScreen()));*///_navigateAndDisplaySelection(context);_neverSatisfied("石头",context: context);            }        )    ),    );  }

常用的多个子控件布局

Row

可以包裹多个控件,以行的形式排列

Column

可以包裹多个控件,以列的形式排列

Stack

包裹多个控件,后面的控件或者布局会覆盖前面的。 我的应用:

classFirstScreenextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext) {returnScaffold(      backgroundColor:Colors.blue,      appBar:AppBar(        title:Text("Stone"),      ),      body:Stack(//设置开始覆盖的位置,还有其他属性alignment:Alignment.center,        children: [FlatButton(            child:Text("小菜鸟"),            onPressed:null,          ),//将覆盖上一个控件Text("我是小菜鸟"),        ],    ),    );  }

最后总结

当然还有很多布局控件,也就举例这几个常用de吧。大家可以去官方网站查询的。

附上官方地址:

https://flutter.io/docs/development/ui/widgets/layout#Multi-child layout widgets


本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户学习参考,本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:https://www.dengtar.com/17604.html
上一篇:Flutter初探一 下一篇:iOS开发初识flutter
相关APP开发
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.