Flutter 学习之路 (two)基础布局组件简单介绍

布局组件,就目前作者所知道的一些,类似于:
Scaffold、Container、Column、Row、Center等之类的组件
下面由作者来粗略介绍,然后每个组件单开一个篇章。
1.Scaffold:
翻译:
在这里插入图片描述
通过翻译的理解,我们大概能够理解一点Scaffold的功能所在:
利用这个脚手架去攀爬一些其他的组件,例如我们可以这么写:

class xxx extends StatelessWidget
{
    @override
    Widget Build(BuildContext context)
    {
        return MaterialApp(//MaterialApp是根组件,这点我们可以以后再补充
            home:Scaffold(
            body:Container()//这里可以加绝大部分布局组件
        )
        );
    }
}

Scaffold拥有一些参数,例如AppBar、drawer等组件,等到下次详细补充吧。
2.Container:
翻译:
在这里插入图片描述
通过翻译的理解,我们大概能够在看到代码之前理解一部分的功能:
创建一个容器,可以包裹东西。
例如我们可以这么写:

class xxx extends StatelessWidget{
    @override
    Widget Build(BuildContext){
        return Scaffold(
            body:Container(
                width: double,
                height: double,//通过这些调整Container的大小
                child:Column(
                )//这里也可以放绝大部分组件
            )
        );
    }
}

Container可以理解为在页面上开创一个width*height的容器,里面可以装一个子组件
3.Row/Column
翻译:
在这里插入图片描述
在这里插入图片描述
通过翻译,我们能够感受到,这两个分别是水平和垂直的区别。
我们能够通过这两个组件做到水平/垂直多放置组件,具体这样实现:

class xxx extends StatelessWidget{
    @override
    Widget Build(BuildContext context)
    {
        return Scaffold(
            body:Row(
                children:<Widget>[
                    //此处可以放组件来进行水平的排列
                ]
            )
        );
    }
}

Column与Row同理,使用时只需要将Row改成Column即可
4.Center
翻译:
在这里插入图片描述
很明显的组件,和Column相似,不过它只能有一个子组件,你可以理解为居中的Container:

class xxx extends StatelessWidget{
    @override
    Widget Build(BuildContext context)
    {
        @override
        return Scaffold(
            body:Center(
                child:Container()//此处子组件也可放绝大部分组件
            )
        )
    }
}

5.ListView
翻译:
在这里插入图片描述

通过翻译,我们可以理解,这个组件是列表类型的,
我们可以通过使用它对界面进行滑动拓展:

class xxx extends StatelessWidget{
    @override
    Widget Build(BuildContext context)
    {
        return ListView(
            children:<Widget>[
                //此处放子组件
            ]
        )
    }
}

ListView和Column比较像,但是它可以拓展界面,而Column一但子组件内容过多则会溢出屏幕造成报错。
6.Stack
翻译:
在这里插入图片描述
通过翻译,我们大体可以了解到这是个可以重叠的组件,可以通过children来表现:

class xxx extends StatelessWidget
{
    @override
    Widget Build(BuildContext context)
    {
        return Scaffold(
            body:stack(
                children:<Widget>[
                    //这里放的组件可以重叠
                ]
            )
        )
    }
}

7.SizedBox
翻译:
在这里插入图片描述
SizedBox没有翻译,不过事实上,单纯的看这个翻译就能够想象这个组件的功能,
这个时候我们会想到Container,这两个难道不是很相似吗,那么这个SizedBox有什么用呢?
事实上,SizedBox可以强制子组件的大小,宽高等等属性。
代码就不放了,和上面差不多。

那么作者就先说这么多了,等有想要补充的地方,我会再回来补充的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值