Container容器组件

代码


import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    home: Scaffold(
        appBar: AppBar(title: const Text("这是导航栏")),
        body: const Column(children: [  //引入多个主键
          myBody(),
          MyButton()
        ],))
  ));
}
// ignore: camel_case_types
class myBody extends StatelessWidget {
  const myBody({super.key});   @override
  Widget build(BuildContext context) {
    return Center(
        child: Container(
      // alignment: Alignment.center, //配置Container内容器的方位
      alignment: Alignment.center, //配置Container内容器的方位
      width: 200,
      height: 200,
      // transform: Matrix4.translationValues(40, 0, 0), //位移
      // transform: Matrix4.rotationZ(0.2), //旋转
      //  transform: Matrix4.skewX(0.2), //倾斜
      margin:  const EdgeInsets.all(20.0),
      decoration: BoxDecoration(
        color: const Color.fromARGB(255, 13, 212, 103), //背景颜色
        border: Border.all(
            //边框
            color: Colors.red, //边框颜色
            width: 2.0),
        borderRadius: BorderRadius.circular(40), //圆角
        boxShadow: const [
          //配置阴影效果
          BoxShadow(
            color: Color.fromARGB(255, 236, 130, 8),
            offset: Offset(10.0, 10.0), //在 Flutter 中,Offset 是一个简单的二维坐标点
            blurRadius: 100.0, //阴影范围
          )
        ],
        gradient: const LinearGradient( // LinearGradient 背景线性渐变 RadialGradient径向渐变
          colors: [Color.fromARGB(255, 186, 192, 104), Color.fromARGB(255, 116, 240, 213)]),
      ),       child: const Text("这是  内容",
          style: TextStyle(color: Colors.red, fontSize: 20.0)),
    ));
  }
} //按扭
class MyButton extends StatelessWidget {
  const MyButton({super.key});   @override
  Widget build(BuildContext context) {
    return Container(
      width: 240,
      height: 60,
      alignment:Alignment.center,
      // margin:  const EdgeInsets.all(20.0),  //所有的外边距
      margin:  const EdgeInsets.fromLTRB(20, 40, 20, 30), //四周的外边距
      decoration:  BoxDecoration( color: const Color.fromARGB(255, 99, 193, 221),
      borderRadius: BorderRadius.circular(20)),  //圆角
      child: const Text("按钮",style: TextStyle(
        color: Color.fromARGB(255, 9, 1, 31),
        fontSize: 20,
       ),),
    );
  }
}

padding 和maring
padding 是让容器和里面的元素有相应的间距,margin是让容器和容器外部的其他容器有相应的间距

Container(
margin: EdgeInsets.all(20.0), //容器外补白
color: Colors.orange,
child: Text("Hello world!"),
),
Container(
padding: EdgeInsets.all(20.0), //容器内补白
color: Colors.orange,
child: Text("Hello world!"),
),

3、Container容器组件的更多相关文章

  1. Flutter Container容器组件、Text文本组件详解

    import 'package:flutter/material.dart'; void main(){ runApp(MyApp()); } class MyApp extends Stateles ...

  2. 【Flutter】容器类组件之Container容器

    前言 Container是一个组合类容器,它本身不对应具体的RenderObject,它是DecoratedBox.ConstrainedBox.Transform.Padding.Align等组件组 ...

  3. 展示组件(Presentational component)和容器组件(Container component)之间有何不同

    展示组件关心组件看起来是什么.展示专门通过 props 接受数据和回调,并且几乎不会有自身的状态,但当展示组件拥有自身的状态时,通常也只关心 UI 状态而不是数据的状态.(子组件)容器组件则更关心组件 ...

  4. Castle IOC容器组件生命周期管理

    主要内容 1.生命处理方式 2.自定义生命处理方式 3.生命周期处理 一.生命处理方式 我们通常创建一个组件的实例使用new关键字,这样每次创建出来的都是一个新的实例,如果想要组件只有一个实例,我们会 ...

  5. React 之容器组件和展示组件相分离解密

    Redux 的 React 绑定库包含了 容器组件和展示组件相分离 的开发思想.明智的做法是只在最顶层组件(如路由操作)里使用 Redux.其余内部组件仅仅是展示性的,所有数据都通过 props 传入 ...

  6. Qt容器组件(二)之QWidgetStack、QMdiArea、QDockWidget

    QT中有九种容器组件,分别是组合框QGroupBox.滚动区QScrollArea.工具箱QToolBox.选项卡QTabWidget.控件栈QWidgetStack.框架QFrame.组件QWidg ...

  7. Qt容器组件(一)之QGroupBox、QScrollArea、QToolBox、QTabWidget

    QT中有九种容器组件,分别是组合框QGroupBox.滚动区QScrollArea.工具箱QToolBox.选项卡QTabWidget.控件栈QWidgetStack.框架QFrame.组件QWidg ...

  8. React容器组件和展示组件

    Presentational and Container Components   展示组件   - 只关心它们的样子.   - 可能同时包含子级容器组件和展示组件,一般含DOM标签和自定的样式.   ...

  9. Flutter学习笔记(10)--容器组件、图片组件

    如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 上一篇Flutter学习笔记(9)--组件Widget我们说到了在Flutter中一个非常重要的理念"一切皆为组件 ...

  10. React-UI组件和容器组件

    UI组件负责页面的渲染,又叫傻瓜组件. 容器组件负责逻辑,又叫聪明组件. 当一个组件只有render函数的时候,就可以用无状态组件的形式来定义这个组件.无状态组件怎么定义呢?其实就是一个函数,接受pr ...

随机推荐

  1. vue 基于原生动画的自动滚动表格

    前言 公司展示大屏需要写滚动表格,通过滚动播放数据,自己随便摸了一个基于动画的自动滚动表格 原理 根据每行的大小和设置的每行滚动时间设置滚动位置,动态添加动画,并把数组第一项移动到最后一项,并订阅该动 ...

  2. 【createWrapper】根据条件类创建查询wrapper

    前几天写一个有几十个字段的查询wrapper,写得我心烦意乱.然后就琢磨了一下能不能只传一个条件类对像就能创建对应的wrapper.去看了下mybatis-plus的文档没看到合适的api,有一个创建 ...

  3. linux- 挂载本地iso,配置本地yum

    ------------------------------------ 关于centos8安装vm-tools: workstation部署centos8之后,不需要单独安装vm-tools,系统已 ...

  4. 实战攻防演练-利用Everything搜索软件进行内网后渗透利用

    前言 Everything是一款很出名的文件搜索工具,基于文件.文件夹名称的快速搜索的轻量级的软件,而早在几年前就有很多apt组织利用everything来进行文件查找等,前几年在T00ls上也有人发 ...

  5. webpack配置打包

    一.webpack基本安装 1.创建webpack项目目录如webpackDemo,并进入webpackDemo; 2. 在node已经安装的前提下,打开命令行控制器,输入如下命令: npm init ...

  6. Go 接口-契约介绍

    Go 接口-契约介绍 目录 Go 接口-契约介绍 一.接口基本介绍 1.1 接口类型介绍 1.2 为什么要使用接口 1.3 面向接口编程 1.4 接口的定义 二.空接口 2.1 空接口的定义 2.2 ...

  7. 记一次 .NET 某工控电池检测系统 卡死分析

    一:背景 1. 讲故事 前几天有位朋友找到我,说他的窗体程序有卡死现象,让我帮忙看下怎么回事,解决这种问题就需要在卡死的时候抓一个dump下来,拿到dump之后就可以分析了. 二:为什么会卡死 1. ...

  8. MySQL - Plugin 'InnoDB' registration as a STORAGE ENGINE failed 错误处理

    版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin Plugin 'InnoDB' registration as a STORAGE ENGINE failed,从详细 ...

  9. 【Java】Java中StringBuilder()成员方法append()和toString()

    StringBuilder就相当于C++的String长度可变,用于构造字符串对象,内部使用自动扩容的数组操作字符串数据. StringBuilder和StringBuffer使用的是相同的API[区 ...

  10. js实现在报表参数界面获取body中控件的值

    要在报表参数界面获取body中控件的值,你可以使用JavaScript来实现.下面是一个详细的介绍: 1. DOM(文档对象模型): - DOM是用于操作HTML文档的API,它允许你通过JavaSc ...