草庐IT

dart - 相对于居中的小部件定位小部件

我正在制作一个登录页面。我希望电子邮件/密码文本字段在页面中居中,按钮在最后一个字段下方48dp(因此不考虑文本字段居中位置的计算)。我不知道如何修改我的布局,使按钮不作为当前屏幕截图中显示的居中元素包含在内:我的代码:classLoginScreenextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnScaffold(backgroundColor:Colors.white,body:Row(mainAxisAlignment:MainAxisAlignment.center,crossAxis

dart - 实现 BLoC 的小部件是否一定是 StatefulWidgets?

我是BLoC模式的新手,出现了一个我在其他地方找不到的问题。使用flutter_bloc库,我可以访问BlocBuilder小部件,只要BLoC的状态发生变化,它就会重建。由于我正在处理独立于框架的状态,是否有必要将父小部件(比如包含来自BLoC的数据的卡片)声明为有状态的?我已经能够成功地将BlocBuilders实现为有状态和无状态小部件的子级,但我无法决定哪种是最佳实践,或者是否存在任何情况下有状态是必要的。如果您不需要更新BlocBuilder之外的任何内容,我想我会说无状态很好,但是如果您要添加类似RefreshIndicator的东西并且必须实现,则需要有状态逻辑(并有条件

android - 我如何将行内的小部件居中?

所以我有这段代码,我尝试使用center()小部件,但我无法在中心获取元素,这是它们的外观。有趣的是,绿色容器占用了所有屏幕宽度,但容器内的小部件并未水平居中对齐。这是代码Center(child:Container(color:Colors.green,alignment:Alignment(0.0,0.0),child:Row(children:[InkWell(child:Text("Likes\n"+document['likes'].toString()),onTap:()=>LikeQuote(document),),InkWell(child:Text("Dislikes

android - 如何创建具有半透明背景和不透明前景的小部件?

我创建了这个flutter小部件,它显示了一个半透明的背景和一个不透明的前景。我使用堆栈来做到这一点。不幸的是,我还必须使用内容来布局背景,否则内容的大小将不正确。有没有办法让堆栈中的后台知道前台的大小而不需要进行两次布局?typedefvoidOnTapFn();classBubbleextendsStatelessWidget{constBubble({@requiredthis.tapFn,@requiredthis.content,this.margin=4.0,this.color=Colors.grey,});finalOnTapFntapFn;finaldoublemar

flutter - 如何将继承的小部件传递给整个 Material 应用程序

所以我有一个继承的小部件,看起来像:classInheritedStateWidgetextendsStatefulWidget{finalWidgetchild;InheritedStateWidget({@requiredthis.child});@overrideInheritedStateWidgetStatecreateState()=>newInheritedStateWidgetState();staticof(BuildContextcontext){return(context.inheritFromWidgetOfExactType(_MyInheritedWidg

dart - 如何在 flutter 中显示基于变量的小部件?

我有一个bool变量,我想根据该变量显示不同的小部件,例如,我想在显示底部工作表时隐藏float按钮。我该怎么做? 最佳答案 当您不想显示任何内容时,您实际上可以将null分配给flutter中脚手架的floatingActionButton属性:floatingActionButton:isBottomSheetVisible?null:FloatingActionButton() 关于dart-如何在flutter中显示基于变量的小部件?,我们在StackOverflow上找到一个类

widget - Flutter - 将焦点转移到特定的小部件

我正在开发一款针对视障用户的Flutter应用。在我的应用程序中,用户使用编辑框搜索信息后。该应用程序没有通知用户搜索已完成。我愿意通过将焦点转移到搜索结果来做到这一点,以便屏幕阅读器阅读它(对讲或旁白)。例如在Android中我可以使用:View.requestFocus();我正在寻找在flutter或自定义平台代码中执行相同操作的方法 最佳答案 我想澄清一些误解。我在其他地方看到过AawazGyawali解决方案的变体。这是行不通的。Flutter有两种类型的焦点。第一个是“输入焦点”。这决定了当前有焦点的表单字段,这就是Fo

dart - 在 foreach 的小部件树中检测到重复的 GlobalKey

我有一张带有标记循环的map,对于每个标记,我都尝试显示带有位置名称的snackbar。我有一个类似的代码。staticfinalGlobalKeyscaffoldKey=GlobalKey();for(inti=0;inewContainer(child:newGestureDetector(onTap:(){scaffoldKey.currentState.showSnackBar(newSnackBar(duration:constDuration(seconds:5),content:newText(coords.keys.elementAt(i)),action:SnackB

design-patterns - 是否可以在 Flutter 中为不同的小部件使用带有抽象层的多态性?

我有一组大约8个小部件,它们都接受一个X类型的参数并以不同的方式显示X类型的内容。我试图创建的是一个定义此类小部件结构的抽象层。除了结构之外,抽象层还将定义一个工厂方法来根据ID决定使用哪个实现。不同的实现都是扩展Stateless-或StatefulWidget的小部件。抽象层如下所示:abstractclassAbstractWidget{finalXcontent;factoryAbstractWidget({@requiredintid,@requiredXcontent}){switch(id){case1:returnImplementation1(content);bre

dart - 是否有允许根据平台切换实现的小部件?

我正在尝试找到一个可以返回特定平台(Cupertino或Material)实现的小部件,例如CupertinoPageScaffold与Scaffold或CupertinoNavigationBar与AppBar在我创建抽象PlatformWidget之前是否有类似的东西? 最佳答案 没有将Material和Cupertino设计集成到一个地方的小部件。但老实说,你不应该这样做。它们的API可能完全不同。而且您将很难融合两者。特别是考虑到您可以执行Scaffold.of(context).openDrawer()示例。建议改为使用T