Flutter中的容器组件

Flutter中的Container组件类似于HTML的div,用于包含并样式化子组件。本文详细介绍了Container的color、alignment、constraints、margin、padding、decoration等属性,帮助开发者更好地理解和使用这个强大的组件。
摘要由CSDN通过智能技术生成

Container是一个很方便的组件,相当于Web HTML中的div,它包含了公共的绘制,定位和尺寸组件。

 

更准确的描述,请参考官方Container Class 文档

 

容器组件用于包含能够应用样式属性的子组件。

 

如果Container组件没有子项,它将自动填满屏幕上的给定区域,否则它的尺寸取决于给定子元素的高度和宽度。

 

注意:在没有任何父组件的情况下,不应直接使用容器组件。 您可以将Center组件,Padding组件,Column小组件,Row组件或Scaffold组件用作父级组件。

 

本文使用的是flutter最新版本,如果不是最新版本,可以使用flutter upgrade升级一下。

 

让我们从一个空容器开始,设置绿色颜色属性。 容器将填满所有屏幕。

 

import 'package:flutter/material.dart';

void main() => runApp(
  Center(   
    child: Container(     
      color: Colors.green,   
    ), 
  )
);

 

 

xxx

 

添加一个child子组件

 

import 'package:flutter/material.dart';

void main() => runApp(
  Center(   
    child: Container(     
      color: Colors.green,
      child: Text(
        "Flutter Container",
        textDirection: TextDirection.ltr,
      )  
    ), 
  )
);

 

 

xxx

 

我们可以看到容器只占用了子组件的大小。

 

颜色属性

您可以使用color属性为容器应用背景色。

 

您将使用具有以下颜色属性的Color Class或Colors Class:

 

Colors Class

 

将颜色类与颜色名称一起使用

Center(
  child: Container(
    color: Colors.green,
  ),
);

 

也可以设置颜色深浅:

Center(
  child: Container(
    color: Colors.green[400],
  ),
);

 

 

Center(
  child: Container(
    color: Colors.green.shade400,
  ),
);

 

Color Class

使用带有完整的8个十六进制数字而不是6个的Color Class。如果仅指定6个数字,则假定前两位数字为零,这表示完全透明。

Color(0xFFFFFF); // 完全透明白色 (不可见)
Color(0xFFFFFFFF); // 完全不透明白色 (可见)

 

您可以使用.fromARGB(A = Alpha或不透明度,R =红色,G =绿色,B =蓝色),参数为颜色十进制数字或十六进制

 

Color.fromARGB(0xFF, 0x42, 0xA5, 0xF5);
Color.fromARGB(255, 66, 165, 245);

 

您还可以使用.fromRGBO(R =红色,G =绿色,B =蓝色,O =不透明度)

 

Color c = const Color.fromRGBO(66, 165, 245, 1.0);

 

Child属性

提供容器要包含的子组件,容器将包裹该子组件的宽度和高度。

 

此组件只能有一个孩子。 要放置多个子项,child属性应该使用具有children属性的RowColumnStack之类的组件。

 

Center(
  child: Container(
    color: Color.fromAR
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值