当前位置: 首页 > 面试题库 >

Flutter Layout行/列-共享宽度,扩展高度 扑

阎丰羽
2023-03-14
问题内容

我在Flutter中的布局仍然有些麻烦。现在,我要以象限布局在3个小部件之间共享可用空间。宽度是平均分配的(通过Expanded行中的2 个小部件可以正常工作),但是现在我还希望高度自动调整为widget3.height == widget1.height + widget2.height。 如果含量较大,我想和以 反之亦然调整高度和副。
布局widget3widget1widget2

在Flutter中甚至可能吗?


问题答案:

看看IntrinsicHeight; 包裹根行应该提供您想要的效果:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(title: Text('Rows & Columns')),
        body: RowsAndColumns(),
      ),
    );
  }
}

class RowsAndColumns extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.only(top: 100.0),
      child: IntrinsicHeight(
        child: Row(crossAxisAlignment: CrossAxisAlignment.stretch, children: [
          Expanded(
            child: Column(children: [
              Container(height: 120.0, color: Colors.yellow),
              Container(height: 100.0, color: Colors.cyan),
            ]),
          ),
          Expanded(child: Container(color: Colors.amber)),
        ]),
      ),
    );
  }
}

调整列中容器的高度会导致右侧的容器调整大小以匹配:

https://gist.github.com/mjohnsullivan/c5b661d7b3b4ca00599e8ef87ff6ac61



 类似资料:
  • 组件的高度和宽度决定了其在屏幕上显示的尺寸。 指定宽高 最简单的给组件设定尺寸的方式就是在样式中指定固定的 width 和 height 。React Native 中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。 export default class HelloWorld extends Component { render() { return ( <

  • 主要内容:1. width,2. height,3. max-width 和 max-height,4. min-width 和 min-heightCSS 尺寸属性指的就是元素的宽度和高度属性,虽然说非常简单,但却是必须掌握的技能。CSS 中提供了 width、height、max-width、min-width、max-height 和 min-height 等几个属性来设置元素的宽度和高度,这些元素使用起来非常简单,下面我们就来简单介绍一下。 1. width 通过 width 属性可以设

  • 文件:main。派克 文件:run_me.py 我试图从左下角到右上角画一条线。 我认为这可能是一个尺度问题(变量self.available\u width,self.available\u height)。 我做错了什么?

  • 前面我们提到HTML元素的尺寸(高或宽)是动态的,会随着内容调整。不过我们也可以为元素设定固定的尺寸大小。 blockquote{ width: 600px;} 上面的 blockquote 将始终保持600px的宽度,如果浏览器窗口小于600px,将显示一个水平滚动条。 因为我们只设置了宽度,那么这个 blockquote 的高度仍然是动态的,会自动调整来适应内容。 CSS 溢出(overflo

  • 问题内容: 我的元素: 风格: 脚本,使其保持方形: 问题是要在纯CSS中做同样的事情。没有脚本。 问题答案: 我知道有两种技术可以根据元素的高度保持元素的长宽比: 当 高度相对于视口时 : 您可以使用vh单位: 对于 基于父元素的高度的高度 : 您可以使用具有所需纵横比的虚拟图像。宽高比为1:1的示例可以使用1 * 1透明.png图像,也可以使用@vlgalik注释为1 * 1 base64编码

  • 问题内容: 应用后如何检索width和height属性? 例如,旋转后的11x11平方变为17x17(Chrome结果),但是javascript仍返回原始宽度/高度-10x10。 我如何获得17x17? 问题答案: 即使旋转某些东西,它的尺寸也不会改变,因此您需要一个包装纸。尝试用另一个div元素包装div并计算包装器尺寸: 重做: 包装器解决方案无法正常工作,因为包装器未自动调整为内部div的