草庐IT

零部件

全部标签

flutter - 是否有明确的 Sliver 小部件列表

我正在尝试使用Sliver来实现可折叠列表标题。当我将小部件从正常更改为Sliver时,我经常会遇到如下错误:I/flutter ( 3141): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════I/flutter ( 3141): The following assertion was thrown building NotificationListener():I/flutter ( 3141): A RenderViewport 

dart - 所有小部件上的 Flutter 工具提示

有没有办法在Text小部件上设置tooltip:newText("Somecontent",tooltip:"Displaysamessagetoyou")这不起作用。但是它确实有效,如mentionedhere,关于FloatingActionButton:newFloatingActionButton(onPressed:action,tooltip:"Action",child:newIcon(Icons.add),)我了解Text类根本没有实现tooltip。我想知道是否有办法做到这一点。 最佳答案 您可以将文本换行成Too

dart - 如何防止基于flutter中的自定义逻辑重新渲染小部件?

来自react背景,它有许多生命周期方法,我可以在其中决定是否重新渲染组件。当我有很多组件时,我最近在flutter中遇到了性能问题,因为它必须重新渲染所有这些。我可以做些什么来防止这种重新渲染或对其进行更多控制以决定何时重新渲染而无需遍历小部件树? 最佳答案 通常当您因为渲染太多小部件而遇到性能问题时,您使用的是ListView或GridView。您可以通过使用ListView.builder()或GridView.builder()方法来防止此性能问题。ListView.builder和GridView.builder将仅呈现屏

image - 检查图像是否已加载到 Flutter 中的 Image.network 小部件中

我是Flutter的新手。我尝试使用image.network小部件加载网络图像。它工作正常,但有时加载需要时间。我在点击期间将点击监听器添加到image.network我需要根据需要重定向页面的结果检查图像是否已完全加载。如何检查图片是否加载?代码:newImage.network('http://via.placeholder.com/350x150')任何帮助将不胜感激,在此先感谢您 最佳答案 您可以使用loadingBuilder,它是Flutter的内置功能,适用于Image.Network我是这样做的:Image.net

flutter - 如何解决卡片小部件中 flutter 的 ' RenderBox was not laid out:'

我有一张包含三个容器的卡片。前两个有文本,最后一个应该在一些文本旁边保存一个TextFormField。所以我有一排可以把两个人抱在一起。唯一的问题是当我添加TextFormField小部件时,它不会出现并且控制台抛出显示错误══╡EXCEPTIONCAUGHTBYRENDERINGLIBRARY╞═════════════════════════════════════════════════════════I/flutter(14101):ThefollowingassertionwasthrownduringperformLayout():I/flutter(14101):Box

dart - Flutter - 从其他小部件调用 setState()

是否可以从其他小部件onPressed()方法调用特定小部件(嵌入在其他小部件中)的setState()方法,所以只有那个小部件被重绘了?我想点击按钮并查看“MyTextWidget”的状态发生变化。其余布局相同,没有任何变化,因此不应重写。这是我的代码:import'package:flutter/material.dart';voidmain()=>runApp(newMyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnnewMaterialApp(tit

dart - 在 flutter 中将按钮添加到 ListView 小部件的底部

我目前在整个屏幕上运行一个ListView。我想在屏幕底部有一个按钮,从而将其拆分,这样ListView就不会填满我的整个窗口。这是当前构建类的代码:@overrideWidgetbuild(BuildContextcontext){returnScaffold(appBar:AppBar(title:Text('HTscoreboard'),),body:_buildBody(context),);}Widget_buildBody(BuildContextcontext){returnStreamBuilder(stream:Firestore.instance.collectio

dart - 带有右边框的圆角卡片小部件 flutter

我必须像这样创建一张卡片:我编写了下面的代码来实现所需的UI,但它没有按预期工作。Card(elevation:5,shape:RoundedRectangleBorder(borderRadius:BorderRadius.only(bottomRight:Radius.circular(10),topRight:Radius.circular(10)),side:BorderSide(width:5,color:Colors.green)),child:ListTile(),)上面的代码产生了这个:而使用下面的代码:Card(elevation:5,shape:Border(rig

mobile - Flutter - 另一个小部件下方的位置 ListView

我从Flutter开始,我遇到了一个在构建时遇到问题的布局,下面是一个视觉示例:我已经尝试过类似的方法:classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnnewMaterialApp(title:'WelcometoFlutter',home:newScaffold(appBar:newAppBar(title:newText('App'),),body:newColumn(children:[newText('LISTA',style:newTextStyle(fontSi

dart - 如何使用异步/HTTP 数据返回 IndexedWidgetBuilder 中的子小部件?

我正在通过HTTP获取JSON数据并将其显示在ListView中。因为是HTTP,所以都是异步的。Here'swhatI'dliketodo:varindex=newListView.builder(controller:_scrollController,itemBuilder:(ctx,i)async{_log.fine("loadingpost$i");varp=await_posts[i];returnp==null?newPostPreview(p):null;},);很遗憾,这在IndexedWidgetBuilder之后不起作用必须是同步函数。如何使用Future为Ind