我在学习Flutter,在构建一个简单的应用程序时遇到了这种奇怪的行为。我已经创建了一个自定义有状态小部件,但我无法在另一个有状态小部件中使用它。这是预期的行为还是我在这里遗漏了什么?错误是:ThefollowingNoSuchMethodErrorwasthrownbuildingMediaQuery(MediaQueryData(size:Size(375.0,812.0),devicePixelRatio:3.0,textScaleFactor:1.0,padding:EdgeInsets(0.0,0.0,0.0,34.0),viewInsets:EdgeInsets.zero,
所以我试图让注册按钮与屏幕的底部中心对齐。我对Flutter比较陌生,想知道是否有办法轻松做到这一点,或者我是否需要重写很多代码?这是我到目前为止所拥有的。如您所见,我将它放在Align()中,但它只会到达填充区域的底部中心。我想我要做的是让外面的Container()成为整个屏幕的高度,但我也不知道该怎么做。如果你有办法做到这一点,请告诉我。谢谢。import'package:flutter/material.dart';classLoginSignupScreenextendsStatefulWidget{@override_LoginSignupScreenStatecreate
我正在使用Stepper小部件,并且正在使用Text小部件作为标题参数。我用于文本的字符串很长,我希望它能将文本换行成多行。我该怎么做?这是我用来构建它的代码:@overrideWidgetbuild(BuildContextcontext)=>Scaffold(appBar:AppBar(title:Text(widget.title),),body:Stepper(currentStep:currentStepIndex,onStepContinue:()=>setState(()=>currentStepIndex++),onStepTapped:(intindex)=>setS
我目前正在构建一个Flutter应用程序,可以推荐该地区附近的餐馆。然而,我让自己陷入了困惑。为了组织和清洁,我希望我的应用程序将AppBar的代码与每个屏幕的代码分开。因此,我构建了KainAppBar.dart作为AppBar代码。它显示在这里:import'package:flutter/material.dart';import'package:gradient_app_bar/gradient_app_bar.dart';import'package:firebase_auth/firebase_auth.dart';import'package:google_sign_in
我想从根小部件(创建MaterialApp的小部件)显示一个对话框我有一个NavigatorState实例,但是showDialog需要返回Navigator.of(context)。看起来我需要从路由中提供上下文,但我不能这样做,因为根小部件没有它。编辑:我找到了一个解决方法:我可以将仅存在于showDialog的伪路由推送到showDialog,然后在对话框完成时弹出该路由。不漂亮但有效。 最佳答案 我使用navigatorKey.currentState.overlay.context解决了这个问题。这是示例:classGlo
我有这种从函数返回2个小部件并将它们添加到子元素的hacky/丑陋方法[...]正在创建的小部件List_buildTextData(){finalTextheadingText=Text(heading,style:MyFontStyle.sizeXs,overflow:TextOverflow.ellipsis,);finalTextsubheadingText=Text(subheading,style:MyFontStyle.make(fontSize:FontSizes.Xxs,color:MyColor.grey),);....codereturn[headingText,
我目前有一个包含三个元素的小部件——两个按钮和一个文本输入。在文本输入焦点上,我想将按钮滑出屏幕并展开文本输入以占据剩余宽度。是否有任何flutter组件(动画或其他)可用于将组件滑出屏幕并为文本字段扩展设置动画? 最佳答案 我最终使用了一个可动画的小部件https://flutter.io/docs/development/ui/animations/tutorial#simplifying-with-animatedwidget并使用Stack()的组合,在其中我将基于Animation和Expanded()中的TextFiel
这个问题在这里已经有了答案:Howtotouchpaintacanvas?(2个答案)关闭4年前。我有一个大小为300、300的CustomPaoint。在这个下方我还有其他小部件。我还有一个监听器,用于跟踪向下和移动位置并将偏移量添加到列表中。此列表用于状态更改并发送到CustomPainter进行绘制。一切正常。如果我在CustomPaint小部件的边界外点击,则它不会绘制。但是,如果我点击CustomPaint内部并移出它,那么偏移量将被记录并用于绘画,这会导致在CustomPaint下面的其他小部件中进行绘画。如何避免?下面是我的代码。classDrawingCanvasext
我的一个小部件的大小取决于我的另一个小部件的大小(以非标准方式)所以我现在正在做的是使用RectGetterPlugin并多次构建WidgetTree(我通过使用等待当前构建完成然后再次运行构建的异步函数调用构建内部构建来做到这一点)在我的特殊情况下,过程是这样的(或者至少这是我相信给定的https://docs.flutter.io/flutter/widgets/WidgetsBinding/drawFrame.html)构建阶段完成在(build#1)中调用的异步函数再次调用build,同时(1)中的布局阶段也运行在(build#2)中调用的异步函数再次调用build(2)的布局
我正在尝试从Firebase的FireStore数据库中读取数据并在flutter应用程序中显示为列表。我遇到了这个问题,我需要使StreamBuilder成为WidgetArray的一部分。如果StreamBuilder小部件是小部件的单个子部件,则它可以正常呈现。但如果是子小部件数组的一部分,它就不起作用。例如下面是我使用StreamBuilder的WidgetWidgetpostsListWidget=newStreamBuilder(stream:Firestore.instance.collection('baby').snapshots(),builder:(context