技术文章类别

 所有技术文章

  • double.infinity和MediaQuery有什么区别?

    区别可以总结为: 我想和父母允许的一样大(double.infinity) 我想和屏幕(MediaQuery)一样大。 通常,您会想使用double.infinity,但并非总是可能的。 一些小工具让自己的孩子一样大,因为他们想成为(Column,ListViewco

  • Flutter:如何获取文本行数

    如果您只想检查文本中包含多少个换行符,则可以执行以下简单操作 final numLines = '\n'.allMatchesyourText.length + 1; 但是,我想您对视觉上实际显示的行数更感兴趣。在这里,事情变得有些复杂,因为您需要知道可用空间(BoxConstraints)才能计算文本需要多少行。为此,您可以使用La

  • 如何知道NetworkImage何时完成加载?

    您可以resolve获取ImageStream并addListener前往ImageStream import 'package:fluttermaterial.dart'; void main { runAppnew MyApp; } class MyApp extends Statef

  • 是否显示文本字段对话框而不被键盘覆盖?

    如果你的使用情况是添加多个TextFields内你Dialog让你的主Form不会显得很拥挤,我觉得这是更好,如果你建立的东西不是更加个性化AlertDialog,并SimpleDialog为它们用于简单的活动(确认,radios..etc)。 否则,为什么要对Dialog单

  • 那么在Flutter中进行缓存的最简单方法是什么?

    一个简单的基于时间的缓存不需要太多代码。 这可能会帮助您。它使用ScopedModel,但它可能很容易成为一个简单的类,尽管notifyListeners如果您希望模型触发UI刷新,则必须删除调用或将其替换为自己的机制。 class MyModel extends Model{ Duration _cacheValidDuratio

  • Flutter Container()vs SizedBox()用于虚拟空

    如果用作占位符: 容器 ,如果插件没有子,没有高度,没有宽度,没有任何限制,和没有对准,但父提供有界的约束,那么容器膨胀,以适应由父提供的约束。 SizedBox 如果窗口小部件没有子级,没有高度,没有宽度,则宽度和高度为零。 因此,SizedBox更多地用作语法占位符。 另外,

  • 如何更改CupertinoDatePicker显示语言?

    将所需的语言添加到MaterialApp(或CupertinoApp)配置中。像这样: return MaterialApp localizationsDelegates: [ ... app-specific localization delegate[s] here GlobalMaterialLocalizations.delegate, GlobalWi

  • 如何基于Flutter中的Future结果构建Stream?

    您永远都不应使用FutureStream,这是双重异步的,这是不必要的。只需返回一个Stream,然后在准备就绪之前不必发出任何事件。 目前尚不清楚try catch在保护什么,因为返回non- Future不会抛出异常。如果返回流,则也要在流上发出任何错误。 您可

  • Flutter tabsView和NestedScrollView滚动问题

    3天后,我发现这是解决此问题的最佳方法,但仍需要更多改进,因为sliver标头扩展和收缩太快,您可以改进代码,并与我们分享 import 'package:fluttermaterial.dart'; void main = runAppMaterialApp home: MyApp, ; class MyApp extends StatefulWidget { MyAppS

  • 使用Firebase时颤振中的摇篮问题

    我已经在我的android build.gradle文件中使用了这种依赖关系 classpath 'com.android.tools.build:gradle:3.1.2' classpath 'com.google.gms:google-services:3.2.1' 并在pubspec.yaml中将此版本用于Firebase和google c

  • 在Android Studio中开发的Flutter项目的合法.gitignore是什么?

    这是Android Studio自动生成的.gitignore,希望这是您要查找的内容: # Miscellaneous *.class *.log *.pyc *.swp .DS_Store .atom .buildlog .history .svn # IntelliJ related *.iml *.ipr *.iws .idea # Visual Studio Code related .vs

  • 如何使用image.file加载图像

    这是另一个使用jpg作为背景图像的示例。它还将不透明度应用于图像。 import 'package:fluttermaterial.dart'; void main = runAppnew MyApp; class MyApp extends StatelessWidget { This widget is the root of your application. @ov

  • 如何将列表视图放在SingleChildScrollView内,但防止它们单独滚动?

    正如其他答案所建议的那样,您可以通过设置来做到这一点shrinkWrap: true, physics: NeverScrollableScrollPhysics,但是构建收缩包装的列表视图比构建普通的列表视图更昂贵,我认为在列表上使用map()是一个好主意。 Column children: Widget[ ...itemList.mapitem

  • 颤动:未处理的异常:错误状态:调用关闭后无法添加新事件

    如果错误实际上是由您发布的代码引起的,那么我将添加一个检查以确保在dispose调用之后不添加任何新事件。 class ServiceBloc extends MainBloc { final _repo = new Repo; final PublishSubjectServiceModel _serviceController = new

  • 坚持用户Auth Flutter Firebase

    我相信您的问题是路由。在我的应用程序中,我使用FirebaseAuth它并且它按照您想要的方式工作,并且我不保留任何登录令牌。但是,我不知道为什么您使用getUser的方法行不通。 尝试调整要使用的代码onAuthStateChanged。 基本上,在您的上MaterialApp,根据Auth状态创建一个StreamBui

  • 抖动Image.network无法在发布APK上运行

    是的,将这些权限添加到AndroidManifest.xml即可使用 uses-permission android:name="android.permission.INTERNET" uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" str

  • 是否有Flutter的材料设计颜色图?

    MaterialColor扩展ColorSwatch,有点像一种Map颜色。您可以ColorSwatch在可以使用a的任何位置使用Color并获得500阴影,但也

  • 单击后退按钮时如何执行

    您可以覆盖上的默认后退箭头AppBar,然后指定在Navigator.pop调用时要返回的值以触发状态更改: 伪代码 因此您需要在onPressed导航按钮的回调中包含类似的内容 onPressed: async{ var nav = aw

  • 在Flutter中,定位的Widget如何感觉到其父Stack区域之外的点击?

    发生此现象的原因在于,堆栈在检查子项是否被命中之前先检查指针是否在其边界内: 类:RenderBox(RenderStack扩展) bool hitTestBoxHitTestResult result, { @required Offset position } { ... if _size.containsposition { if hitTes

  • 如何挑选文件和图像以通过Flutter Web上传

    我尝试下面的代码,它的工作。 第一 import 'dart:html'; variable to hold image to be displayed Uint8List uploadedImage; method to load image and update `uploadedImage` _startFilePicker

  • 多个期货的Future.wait()

    您可以使用Future.wait等待多个Future完成。 body: FutureBuilderListFlashCardList future: Future.wait[ fetchFlas

  • 在Flutter上获取容器的“ y”位置

    您可以GlobalKey用来获取小部件的大小或位置 GlobalKey key = GlobalKey; Containerkey: key,...; add key to your widget, which position you need to find RenderBox box = key.currentContext.findRenderObject; Of

  • 如何在边框按钮上添加边框?

    嗨,凯瑟琳,欢迎您! 通过深入研究组成的小部件,可以实现所需的功能MaterialButton。 首先,您需要Ink小部件。使用a href="https:docs.flutter.ioflutterpaintingBoxDecora

  • 如何从Flutter中的Firebase Auth获取用户ID?

    _userId为null,因为在返回的Future FirebaseAuth.instance.currentUser完成之前正在构建窗口小部件。一旦完成,为时已晚,小部件也不会更新。一种使用它的方法是使用FutureBu

  • Flutter:从WebView加载IFrame

    这可能会做你想要的 Container child: WebView initialUrl: Uri.dataFromString'htmlbodyiframe src="https:www.youtube.comembedabc"iframebodyhtml', mimeTy

  • Flutter:如何获取“资产”目录中所有图像的名称列表?

    我已经实现了下面的功能 StatefullWidget Future _initImages async { To get paths you need these 2 lines final manifestContent = await DefaultAssetBundle.ofcontext.loadString'AssetManifest

  • 如何在Flutter中实现深层链接,并重定向到应用商店?

    您可以为此使用Firebase动态链接: https:firebase.google.comdocsdynamic- links 那里说: b

  • 如何从Flutter中的通知导航到应用程序中的特定MaterialPageRoute

    在很多情况下,使用GlobalKey并不是一个好主意,但这可能就是其中之一。 当您构建自己的MaterialApp(我假设您正在使用)时,可以传入一个navigatorKey参数,该参数指定用于导航器的键。然后

  • 将数据广播到Flutter中的多个小部件

    Navigator.push返回Future将在Navigator.pop被调用时完成的(并且可以选择将其用于将数据传递回称为的小部件push)。例如,假设您的登录按钮具有以下onPressed处理程序: onPressed: async { bool isLoggedIn

  • 在Flutter中输入DragTarget时如何更新Draggable子级?

    我能想到的唯一方法是使用streambuilder和将承载可拖动对象是否在拖动目标上的信息的流。此代码提供了基本的解决方案。 class _MyHomePageState extends StateMyHomePage { BehaviorSubjectbool willAcceptStream; @override void initState { wi

  • Flutter:发布带有凭证的请求

    我用 import 'dart:async' show Future; import 'dart:io' show HttpClient, HttpClientBasicCredentials, HttpClientCredentials; import 'package:httphttp.dart' show BaseClient, IOClient; typedef Futurebool

  • 如何将JSON资产加载到Flutter App中

    @Alexandre Beaudet的回答是正确的,但没有给出很多有关正在发生的情况的背景信息。 在调用时loadString,它实际上是一个异步方法调用。您可以知道,因为它返回的是一个Futurevalue而不是一个value。这意味着它不会立即得到String的结果,但是会在将来的某个时候出现。 在Dart中,有两

  • 颤动-创建以minHeight开始,增长到maxHeight的框的正确方法

    没有“从最大最小大小开始”的概念。 事实是,ContrainedBox仅对其子项添加约束。但是最后,它没有选择大小。 如果您希望孩子达到minSize,则 不必 花费。其转化为 不 具有的宽度高度double.INFINITY。事实是,这double.INFINITY是许多小部件(包括)

  • Flutter-自定义字体不显示

    您可能想要尝试从设备中删除该应用程序,然后重新安装它。根据您启动的方式,它可能不会覆盖旧的安装文件。

  • Flutter:在小部件的状态initState中从Navigator获取传递的参数

    使用如下MaterialApp.onGenerateRoute属性: onGenerateRoute: RouteSettings settings { print'build route for ${settings.name}'; var routes = String, WidgetBuilder{ "hello": ctx =

  • Flutter-如何在列表视图内将小部件居中

    垂直居中和水平居中: Scaffold appBar: new AppBar, body: Center child: new ListView shrinkWrap: true, padding: const EdgeInsets.all20.0, children: [ Centerchild: new Text

  • 未加载抖动图像(例外:解析图像编解码器)

    摆脱通往png路径的领导。应该是imagesp8.png。 另外,考虑使用清洁器Image.asset构造函数,例如: new Image.asset'imagesp8.png', width: 100.0, height: 100.0

  • Flutter将int变量转换为字符串

    使用toString和或toRadixString int intValue = 1; String stringValue = intValue.toString; String hexValue = intValue.toRadixString16; 或者,如在纪念中 cod

  • 在Flutter应用中如何在没有上下文的情况下进行导航?

    在这里看这个:https : a href="http:github

  • 在Flutter中预加载本地图像资产

    确保已将图像gaplessPlayback设置true为。 这不能解决预加载问题,但是可以防止在切换资产时图像闪烁为白色。 将gaplessPlayback设置为true时,原始图像将一直保留到新图像完成加载为止,并且不会出现“白色闪光间隙”。 var img = new Image.asset _photoData[_