草庐IT

flutter 标签栏 : Update tab (stateful widget) everytime a tab gets visible

新年快乐!:)我有三个选项卡,每个选项卡都有一个有状态的小部件。选项卡#2中显示的数据可以由用户在选项卡#3中更改。因此,当从选项卡#3返回到选项卡#2时,我需要在选项卡#2中调用update()方法。是否有一个有状态的小部件方法会在每次小部件可见时被触发?如果没有,我有什么机会来实现这一目标?最好的,妮可 最佳答案 它没有更新的原因是小部件已经被渲染并且现在被缓存直到用户退出应用程序。您可以尝试多种方法来完成这项工作。例如,VoidCallBack方法,添加异步函数或在initState本身中留空setState。归根结底,这取决

dart - 如何在使用 StreamBuilder 时用户离线时显示不同的 Widget?

我正在尝试从互联网上获取一些数据。使用FutureBuilder,处理离线、在线、错误等各种情况非常容易,但我使用的是StreamBuilder,我无法理解如何处理离线情况以下是我使用StreamBuilder的代码,它可以工作,但我没有处理离线数据或错误returnStreamBuilder(builder:(context,AsyncSnapshotsnapshot){if(snapshot.hasError){returnExpanded(child:Center(child:Text(SOMETHING_WENT_WRONG),));}if(!snapshot.hasData)

flutter - 如何在点击检测中跳过 Flutter Widget?

我正在尝试使用包含Checkbox作为主要小部件的ListTile制作一个模态底页。但是,Checkbox将接收点击事件而不是ListTile,现在显示图block的墨水波纹效果并让我实现两个onTap/onChanged回调。我尝试过不实现Checkbox的onChanged回调并将其包装在AbsorbPointer小部件周围,但是在这两种情况下ListTile也不会获得点击事件。returnListTile(onTap:onTap,title:Text("Showexpiredschedules"),leading:Checkbox(value:snapshot.data,onCh

flutter - 如何修复 flutter 中的 "A dismissed Dismissible widget is still part of the tree."错误

我正在构建一个带有可关闭小部件、firebase和StreamBuilder的flutter应用程序,并收到以下错误“已关闭的可关闭小部件仍然是树的一部分。”请找到以下相同的代码。Expanded(child:StreamBuilder(stream:Firestore.instance.document('/users/User1/Trips/${widget.tripId}').collection('TropDocs').snapshots(),builder:(context,snapshot){if(!snapshot.hasData)returnconstText("Loa

input - Flutter TextField Widget 下奇怪的红色 block

我正在我的flutter应用程序的一个选项卡中处理购物list,但在输入字段下,当键盘出现时,我总是会看到奇怪的红色block(红色block一直留在那里,直到键盘消失)RedBlockwhichappearswithkeyboard单击该字段后显示的调试报告Performingfullrestart...Restartedappin1.172ms.D/ViewRootImpl@da3a8cd[MainActivity](28869):ViewPostImeInputStageprocessPointer0D/ViewRootImpl@da3a8cd[MainActivity](288

dart - flutter 和 Firestore : How can access variables from Stateful Widget to create a new document?

我想在StatelessWidget中使用StatefulWidget的最终变量在Firestore中创建一个新文档。但我总是遇到同样的问题:在初始化器中只能访问静态成员我的StatefulWidget代码:classUserProfileextendsStatefulWidget{UserProfile({this.auth,this.onSignedOut,this.userID});finalBaseAuthauth;finalVoidCallbackonSignedOut;finalStringuserID;@override_UserProfileStatecreateSta

flutter - 在模拟器中查看 Flutter widget 测试

有没有办法在模拟器中查看UI测试?我正在为一个有动画的小部件编写一些测试,并想验证我的测试是否正确触发了动画。 最佳答案 找到answer从文档页面:Tohelpdebugwidgettests,youcanusethedebugDumpApp()functiontovisualizetheUIstateofyourtestorsimplyflutterruntest/widget_test.darttoseeyourtestruninyourpreferredruntimeenvironmentsuchasasimulatoror

flutter - 如何创建打印点的 Spacer 样式的 Widget?

我正在查看Material.ioBasildesignstudy,我正在尝试弄清楚如何让FlutterWidget像Spacer一样工作,但有内容。 最佳答案 您可以将CustomPainter与TextPainter结合使用,以使用填充可用宽度。例子:classPointPainterextendsCustomPainter{@overridevoidpaint(Canvascanvas,Sizesize){finalpoint=TextPainter(text:TextSpan(text:".",style:TextStyle(

flutter - 自定义 Button 在子 Widget 上有默认的大写文本

我正在尝试构建一个自定义按钮,默认情况下文本为大写。但是一个普通的RawMaterialButton需要一个子项,我该如何修改它,使文本始终为大写。这是我的按钮import'package:flutter/material.dart';classDemoButtonextendsMaterialButton{finalBorderRadiusborderRadius;constDemoButton({this.borderRadius,Keykey,@requiredVoidCallbackonPressed,ColortextColor,ColordisabledTextColor,

performance - Flutter widget 应该在类中创建还是在 build() 函数中创建?

是否有关于在哪里创建更优化的小部件的一般经验法则(假设小部件不依赖于传递到build()中的任何内容)?如果我们在类中创建一个Widget:Foo({Keykey}):super(key:key);Widget_widget=newContainer();//Createhere?我们只在创建类时创建一次。但是,如果这个小部件并不总是在build()中使用(例如,后台小部件,或者小部件的可见性由标志确定),则它可能会占用空间。如果我们在build()中创建小部件:@overrideWidgetbuild(BuildContextcontext){Widgetwidget=newCont