当前位置: 首页 > 知识库问答 >
问题:

相当于wrap_content和match_parent?

阎功
2023-03-14

在Android中,match_parentwrap_content,用于根据小部件包含的内容自动调整小部件的大小。

在Flutter中,默认情况下似乎所有小部件都设置为wrap_content,我将如何更改它,以便我可以将其宽度高度填充为其父级?

共有3个答案

范弘亮
2023-03-14

简单的回答是,在孩子有尺码之前,父母没有尺码。

Flatter中布局的工作方式是,每个小部件都为其每个子部件提供约束,比如“你可以达到这个宽度,你必须达到这个高度,你必须至少达到这个宽度”,或者任何其他(具体来说,它们获得最小宽度、最大宽度、最小高度和最大高度)。每个孩子都接受这些约束,做一些事情,并选择与这些约束匹配的大小(宽度和高度)。然后,一旦每个孩子完成了自己的任务,小部件就可以选择自己的大小。

一些小部件试图尽可能大到父级允许的大小。一些小部件试图尽可能小到父级允许的大小。一些小部件试图匹配特定的“自然”大小(例如文本、图像)。

一些部件告诉他们的孩子,他们可以是他们想要的任何尺寸。有些人给孩子的约束和他们从父母那里得到的一样。

凌照
2023-03-14

为了获得match_parent的行为,wrap_content我们需要在行/列小部件中使用主轴大小属性,主轴大小属性采用具有两个值的MainAxisSize枚举,即主轴大小.min,其行为为wrap_content和主轴大小.max它的行为match_parent。

原文链接

匡玉堂
2023-03-14

您可以使用小技巧:假设您有以下要求:(宽度,高度)

Wrap_content,Wrap_ content:

 //use this as child
 Wrap(
  children: <Widget>[*your_child*])

Match_parent,Match_parent:

 //use this as child
Container(
        height: double.infinity,
    width: double.infinity,child:*your_child*)

Match_parent,Wrap_content :

 //use this as child
Row(
  mainAxisSize: MainAxisSize.max,
  children: <Widget>[*your_child*],
);

Wrap_content,Match_parent:

 //use this as child
Column(
  mainAxisSize: MainAxisSize.max,
  children: <Widget>[your_child],
);
 类似资料:
  • 问题内容: 我在Linux中找不到conio.h的等效头文件。 Linux中有&功能选项吗? 我想创建一个切换案例基​​础菜单,用户只需按一个键就可以给出选项,并且过程应该向前移动。我不想让用户按其选择后按ENTER。 问题答案: 输出:

  • 问题内容: 我有这个装饰器: 该代码仅能在linux上执行任何操作,就像在Windows上一样。在Windows中也可以使用此代码的最简单方法是什么? 问题答案: 它不是很漂亮,但是我不得不以跨平台的方式做类似的事情,于是我想到了使用单独的线程。基于信号的系统无法在所有平台上可靠地工作。 此类的使用可以包装在装饰器中,也可以制成上下文处理程序。 YMMV。

  • 问题内容: 我们曾经声明要在类之间传递数据,如下所示: 现在没有类,如何在类之间传递数据? 问题答案: Swift不区分属性和实例变量(即属性的基础存储)。要定义属性,只需在类的上下文中声明一个变量。 swift类只是ClassName.swift文件。 您将一个类和属性声明为 您可以通过点表示法访问属性值。作为Xcode6测试4的,也有访问修饰符(,并在SWIFT)。默认情况下,每个属性都是。有

  • 问题内容: 我正在将一些旧的PHP代码从mysql移植到MySQLi,但遇到了一个小问题。 有没有等效的旧功能? 当您处理多于1行时,我知道它比其他函数要慢,但是很多时候我只有1个结果和1个字段。使用它,我可以将4行压缩为1行。 旧代码: 所需代码: 但是没有这样的事情。:( 有什么我想念的吗?还是我必须吸收它并制作所有东西: 问题答案: PHP 5.4现在支持函数数组解引用,这意味着您可以执行以

  • 在我的应用程序中,我必须从主应用程序线程异步处理多个作业,并收集每个作业的结果。我有一个简单的Java解决方案,它使用ExecutorService和收集作业结果的ExecutorCompletionService来实现这一点。 现在我想把我的代码转换成Spring解决方案。这些文档向我展示了ExecutorService和@Async注释的使用方式,但我不确定如何以及是否可以收集多个作业的结果。

  • 问题内容: 我知道(其中e是一个异常)会打印发生的异常,但是,我试图找到与Java等效的python,它可以将异常确切地跟踪到发生的那一行,并打印出整个轨迹。 谁能告诉我Python 的等效功能吗? 问题答案: 在块内执行此操作时,它将自动使用当前异常。有关更多信息,请参见http://docs.python.org/library/traceback.html。