题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。
本文章首发于微信公众号(biglead) 我的大前端生涯 ,同步刊登各技术论坛。
在 flutter 应用程序开发中,Contrainer组件可以理解为容器,常用用来设置背景、设置一个 Widget 的内外边距、以及边框样式等等。
Contrainer 组件的大小限定可以描述为:
在这里 黄色的 Contrainer 与 灰色的 Contrainer 的大小完全一至,而灰色的 Contrainer 的大小是由父黄色的Contrainer设置的大小(200,200)决定的, 自身设置的(100,100),并没有起到影响, 子Widged SizedBox 设置的大小(50,50)也没有影响 父组件 灰色的 Contrainer 的大小。
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ContainerHomePage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return ContainerHomePageState();
}
}
class ContainerHomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: Text("Container 配制"),
),
body: Center(
///内三组件
child: Container(
///Container 默认包裹子widget (没任何内外大小的限制 )
///Container的背景颜色
width: 200,
height: 200,
///黄色
color: Colors.yellow,
///当Container 的外层有大小限制进 Container取用的是外层设置的大小
///内二组件
child: Container(
///灰色
color: Colors.grey,
width: 100,
height: 100,
///内一组件
child: SizedBox(
width: 50,
height: 50,
child: Text("这里是body "),
),
),
),
),
);
}
}
在这里 黄色的 Contrainer 与 灰色的 Contrainer 的大小完全一至,而灰色的 Contrainer 的大小是由自身设置的大小(100,100)决定的, 子Widged SizedBox 设置的大小(50,50)将没有影响 父组件 灰色的 Contrainer 的大小。
class ContainerHomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: Text("Container 配制"),
),
body: Center(
///内三组件
child: Container(
///Container 默认包裹子widget (没任何内外大小的限制 )
///Container的背景颜色
// width: 200,
// height: 200,
color: Colors.yellow,
///当Container 的外层有大小限制进 Container取用的是外层设置的大小
///内二组件
child: Container(
color: Colors.grey,
width: 100,
height: 100,
///内一组件
child: SizedBox(
width: 50,
height: 50,
child: Text("这里是body "),
),
),
),
),
);
}
}
如图所示
黄色的 Contrainer 与 灰色的 Contrainer 的大小完全一至,而灰色的 Contrainer 的大小是由子Widged SizedBox 设置的大小(50,50)决定的
class ContainerHomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: Text("Container 配制"),
),
body: Center(
///内三组件
child: Container(
///Container 默认包裹子widget (没任何内外大小的限制 )
///Container的背景颜色
// width: 200,
// height: 200,
color: Colors.yellow,
///当Container 的外层有大小限制进 Container取用的是外层设置的大小
///内二组件
child: Container(
color: Colors.grey,
// width: 100,
// height: 100,
///内一组件
child: SizedBox(
width: 50,
height: 50,
child: Text("这里是body "),
),
),
),
),
);
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。