问题标签 [flutter-widget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
55968 浏览

flutter - 如何在颤动中创建具有固定宽度和高度的颜色框?

我正在尝试创建一个具有固定宽度和高度的颜色框。如何做到这一点?

0 投票
4 回答
72617 浏览

flutter - 从 Flutter 中的 Scaffold AppBar 中删除阴影?

在 Flutter 中使用 Scaffold 小部件时,有没有办法去除应用栏(AppBar 类)下的阴影?

0 投票
7 回答
89054 浏览

flutter - Flutter/Dart - 延迟后打开视图

我正在尝试找到在加载视图延迟后打开视图的解决方案。我有一个视图,其中有一个按钮,当我按下它时,该onPressed()方法会触发一个Navigator.of(Context).pushNamed("/loading"). 打开加载视图。在加载视图中,我有一个延迟 1.5 秒然后打开主视图的功能,这是代码:

但是,当延迟开始时,在 1.5 秒后,它会打开 Home 视图,但有以下例外:

顺便说一句,在主视图中没有任何黑色图标。(图标主题(颜色:颜色(0xff000000))有人可以帮忙吗?

0 投票
2 回答
5342 浏览

flutter - 如何在颤振应用程序中删除慢模式标签

我已经开始颤振应用程序开发。我的问题是,如何删除颤振应用程序中的缓慢加载横幅。我使用了Material不包含该debugShowCheckedModeBanner属性的小部件(不是 MaterialApp)。有什么办法可以摆脱我设备屏幕上的横幅? 包含缓慢加载横幅的屏幕截图

0 投票
7 回答
41773 浏览

flutter - 如何在 Flutter 中并排显示按钮?

我想水平显示我的两个按钮。到目前为止,我只能从上到下显示它们。

使用以下代码,我需要更改什么?

0 投票
13 回答
152142 浏览

flutter - 如何获取 Widget 的高度?

我不明白如何LayoutBuilder用于获取小部件的高度。

我需要显示小部件列表并获取它们的高度,以便计算一些特殊的滚动效果。我正在开发一个包,其他开发人员提供小部件(我不控制它们)。我读到 LayoutBuilder 可以用来获取高度。

在非常简单的情况下,我尝试将 Widget 包装在 LayoutBuilder.builder 中并将其放入 Stack 中,但我总是得到minHeight 0.0, 和maxHeight INFINITY. 我在滥用 LayoutBuilder 吗?

编辑:似乎 LayoutBuilder 是不行的。我发现CustomSingleChildLayout几乎是一个解决方案。

我扩展了该委托,并且能够在getPositionForChild(Size size, Size childSize)方法中获取小部件的高度。但是,调用的第一个方法是Size getSize(BoxConstraints constraints)并且作为约束,我得到 0 到 INFINITY,因为我将这些 CustomSingleChildLayouts 放置在 ListView 中。

我的问题是 SingleChildLayoutDelegate 的getSize操作就像它需要返回视图的高度一样。我不知道那个时候孩子的身高。我只能返回constraints.smallest(即0,高度为0),或constraints.biggest,它是无穷大并使应用程序崩溃。

在文档中它甚至说:

...但是父母的大小不能取决于孩子的大小。

这是一个奇怪的限制。

0 投票
4 回答
44543 浏览

flutter - Flutter - 容器上的叠加卡片小部件

在颤振中,是否可以将卡片的一部分放在另一个容器上?在 CSS 中,我们会将 margin-top 设置为负值或使用 translate 属性。由于我们无法为 margin-top 设置负值,因此颤抖中,是否有替代方法?

在此处输入图像描述

0 投票
4 回答
64411 浏览

flutter - Flutter:如何正确使用 Inherited Widget?

使用 InheritedWidget 的正确方法是什么?到目前为止,我了解到它使您有机会将数据沿 Widget 树传播。在极端情况下,如果您将其设置为 RootWidget,它将可以从所有路由上的树中的所有 Widget 访问,这很好,因为我必须以某种方式使我的 ViewModel/Model 可用于我的 Widget,而不必求助于全局变量或单例。

但是 InheritedWidget 是不可变的,那么我该如何更新它呢?更重要的是,我的 Stateful Widgets 是如何被触发来重建它们的子树的?

不幸的是,这里的文档非常不清楚,在与很多人讨论之后,似乎没有人真正知道使用它的正确方法是什么。

我添加了 Brian Egan 的一句话:

是的,我认为它是一种沿树传播数据的方式。我发现令人困惑的是,来自 API 文档:

“以这种方式引用继承的小部件时,将导致消费者在继承的小部件本身更改状态时进行重建。”

当我第一次读到这篇文章时,我想:

我可以在 InheritedWidget 中填充一些数据,然后再对其进行变异。当这种突变发生时,它将重建所有引用我的 InheritedWidget 我发现的小部件:

为了改变 InheritedWidget 的状态,您需要将其包装在 StatefulWidget 中。然后实际改变 StatefulWidget 的状态并将此数据传递给 InheritedWidget,后者将数据传递给它的所有子级。但是,在这种情况下,它似乎重建了 StatefulWidget 下的整个树,而不仅仅是引用 InheritedWidget 的 Widget。那是对的吗?或者,如果 updateShouldNotify 返回 false,它是否会以某种方式知道如何跳过引用 InheritedWidget 的 Widget?

0 投票
5 回答
21622 浏览

flutter - 如何在 Flutter 中移动屏幕中的小部件

我正在使用颤振,我有一个使用此代码的圆形容器

我想让这个圆圈像这样在屏幕上移动

在此处输入图像描述

我怎样才能做到这一点?

0 投票
2 回答
16074 浏览

flutter - 实现 PreferredSizeWidget 以用作 Appbar

我正在尝试构建一个可用于识别列表视图中的两列的组件。我希望能够将此标题栏实现为 Scaffold 中的 appbar,以便我可以在 Scaffold 的主体部分实现 ListView。我想这样做是因为我想在我的应用程序中多次使用这种模式,并且不希望每次都实现粗略的标题栏。

因为 AppBar 组件只需要实现 PreferredSizeWidget,我认为这应该很简单:

我的问题是关于成功实现 PreferredSizeWidget 或实现我的目标还需要什么。现在我得到以下堆栈跟踪,这似乎表明我忽略了实现的几个方面:

theftion trible tribrars捕获的例外╞═════════════════════════════════════════ ══════════════════ I/flutter(9130):在构建 Scaffold(脏,状态:I/flutter(9130):ScaffoldState#7c75d(代码:跟踪 1 个股票)):I/flutter(9130):在 null 上调用了 getter 'height'。I/flutter(9130):接收者:null I/flutter(9130):尝试调用:高度 I/flutter(9130):I/flutter(9130):抛出异常时,这是堆栈:I/flutter( 9130):#0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5) I/flutter (9130):#1 ScaffoldState.build (package:flutter/src/material/scaffold.dart:1447: 57) I/flutter (9130): #2 StatefulElement.build (package:flutter/src/widgets/framework.dart:3713:27) I/flutter (9130): #3 ComponentElement。