代码编织梦想

简单例子:该例子实现了子View居中对齐效果

class CenterLayout extends SingleChildRenderObjectWidget {

  CenterLayout({
    Key key,
    Widget child
  }): super(key: key , child: child);

  @override
  RenderObject createRenderObject(BuildContext context) => RenderLayout();

}

class RenderLayout extends RenderShiftedBox {

  RenderLayout({RenderBox child}) : super(child);

  @override
  void performLayout() {
    child.layout(BoxConstraints(
        minHeight: 0.0,
        //maxHeight: null,
        minWidth: 0.0,
        //maxWidth: null,
    ), parentUsesSize: true);
    final BoxParentData childParentData = child.parentData;
    //控制子View坐标,(0,0)是屏幕左上角
    childParentData.offset = Offset((size.width - child.size.width) / 2, (size.height - child.size.height) / 2);
    size = Size(this.constraints.maxWidth, constraints.maxHeight);
  }

}

使用:

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Color(0xffffffff),
      body: Container(
        child: CenterLayout(
          child: Text(
              "我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我我"
          ),
        ),
      ),
    );
  }

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_16009381/article/details/111100218

Flutter iOS风格中Widget内容滑到了顶部导航栏后面与其重叠-爱代码爱编程

Flutter 开发问题点一览 Flutter iOS风格中Widget内容滑到了顶部导航栏后面与其重叠Flutter iOS风格文本输入框CupertinoTextField光标在Android中未与提示文本对齐 文章目录 Flutter 开发问题点一览1. 问题描述2. 原因、对策3. 源码分析 1. 问题描述 Flutter在iOS风格

排序算法复习(上篇)-爱代码爱编程

排序算法概述 排序就是将一组对象按照某种逻辑顺序重新排列的过程。比如,订单按照日期排序的——这种排序很可能使用了某种排序算法。在计算时代早期,大家普遍认为30% 的计算周期都用在了排序上。如果今天这个比例降低了,可能的原因之一是如今的排序算法更加高效,而并非排序的重要性降低了。现在计算机的广泛使用使得数据无处不在,而整理数据的第一步通常就是进行排序。几乎

2、文本组件-爱代码爱编程

Flutter最基本的组件-文本组件 1.1 Text属性及含义1.1.1 Text 常用属性介绍1.1.2 TextAlign1.1.3 textDirection1.1.4 softWrap1.1.5 overflow1.1.6 maxLines1.1.7 textScaleFactor1.2 TextStyle 属性介绍1.3 Text.ri

Flutter自定义布局排列:多个子View-爱代码爱编程

简单例子:该例子让多个子View垂直排列 class LinearLayout extends MultiChildRenderObjectWidget { LinearLayout({ Key key, List<Widget> child }): super(key: key , children: child)

记录安装flutter的一些坑-爱代码爱编程

记录Flutter 安装出现的一些问题 1 首先下载Flutter sdk 建议安装最新版 下载地址https://www.baidu.com/link?url=L5t4aE9yfDnUkfVgc7CXvvZ4HmjYod_GnvSqMqOv646EZBhIJMospzbR2ezCbBYz1V9D8svA5quwyYnfAga5UK&wd=&am

Flutter iOS风格文本输入框CupertinoTextField光标在Android中未与提示文本对齐-爱代码爱编程

Flutter 开发问题点一览 Flutter iOS风格中Widget内容滑到了顶部导航栏后面与其重叠Flutter iOS风格文本输入框CupertinoTextField光标在Android中未与提示文本对齐 文章目录 Flutter 开发问题点一览1. 问题描述2. 原因、对策3. 源码分析 1. 问题描述 Flutter iOS风格