技术文章类别

 所有技术文章

  • Flutter-失败时默认为Image.network

    这取决于您的用例,但是一种实现方法是使用FadeInImage,该属性具有的属性img要用于要加载的图像placeholder,以及占位符 FadeInImageimage: Ne

  • 如何检查Flutter中是否启用了Android或iOS暗模式?

    我找到了路。这里是。 bool _darkModeEnabled = false; void _checkIfDarkModeEnabled { final ThemeData theme = Theme.ofcontext; theme.brightness == appDarkTheme.brightness ? _darkModeEnabled = tr

  • Flutter:如何收听FirebaseUser是经过电子邮件验证的布尔值?

    验证并非如您所愿那样简单。首先,存在识别用户已验证其电子邮件的问题。其次,存在一个问题,您没有可以听的任何通知会自动触发应用程序中的更改。 检查此线程以获取有关emailVerified的信息:https : a href="https:g

  • 将手表应用程序添加到Flutter iOS应用程序

    Flutter不支持Apple Watch应用程序,因为该应用程序缺少GitHub问题,如本GitHub问题所述。 您可以跟踪对iOS的“添加位码”支持的状态-Flutte

  • 如何在Flutter中使用自定义字体样式?

    Roboto是Material样式的默认字体,无需在pubspec.yaml中添加它。 要使用不同的版本,请设置 TextStyle Text 'Home', style: TextStyle fontWeight: FontWeight.w300, light fontStyle: FontStyle.italic, itali

  • 如何在Flutter中使用密码处理TextField验证

    您需要使用正则表达式来验证结构。 bool validateStructureString value{ String pattern = r'^?=.*?[A-Z]?=.*?[a-z]?=.*?[0-9]?=.*?[!@#\$*~].{8,}$'; RegExp regExp = new RegExppattern; retu

  • Flutter无法在设备导入androidx.annotation.Nullable上运行应用

    您需要迁移到受影响的官方插件的更新日志中提到的AndroidX https:pub.dartlang.orgpackagesfirebase_core#030

  • 如何从Flutter启动whatsapp和Facebook Messenger窗口以指向特定联系人?

    我找到了解决方案。 要打开whatsapp: var whatsappUrl ="whatsapp:send?phone=$phone"; await canLaunchwhatsappUrl? launchwhatsappUrl:print"open whatsapp app link or do a snackbar with notification that there i

  • dart JSON字符串转换为列表字符串

    解析JSON列表的结果是Listdynamic。的返回类型jsonDecode为just dynamic。 您可以将这样的列表转换ListString为 ListString stringList = jsonDecodeinput as

  • 在Flutter中使用Google登录的错误403受限制的客户端

    就我而言,我忘记在Google Developers Console API和服务证书 OAuth同意屏幕链接中设置支持电子邮件地址,并且在Firebase项目设置中也设置了此选项。设置后,一切正常。

  • Flutter中的元素是什么?

    Flutter会创建一个可视化的Elements树,就像可变的Widget副本一样。框架通常不会直接处理Elements。 因此(非常简化的版本)您的树可能看起来像这样: MediaQuery -- Theme Data ---- Scaffold ------ AppBar ------ Body --------- Column ----------- Text ----------- T

  • 坏状态:在flutter中从addStream添加项目时,无法关闭主题

    我认为排干流应该可以解决问题 dispose async { _movieId.close; await _trailers.drain; _trailers.close; } a href="https:api.dartlang.orgstable2.0.0dart-asyncStream- class.html

  • Flutter:如何从简单的电子表格中读取数据?

    感谢您的回答。我使用使其工作async,await如下面所示。重要的还有正在申报的资产文件在你pubspec.yaml喜欢 flutter: assets: - assetsresBook1.csv 然后声明两个函数,并loadCSV在要加载数据时调用。

  • 如何在Dart中将数据发布到https服务器?

    http.post是一个方便包装器,可在后台创建IOClient。您可以将自己的io HttpClient传递给它,这具有禁用证书检查的方法,因此您只需要自己构造它们即可… bool trustSelfSigned = true; HttpClient httpClient = new HttpClient ..badCertificateCallba

  • 对象是什么 Dart的语法含义?

    RandomWords是传递给State类的通用类型参数。 该State班的样子 abstract class StateT extends StatefulWidget extends Diagnosticable { 和RandomW

  • 如何在Flutter中从一个屏幕导航到另一个屏幕(开始活动)并关闭当前屏幕(完成)

    使用MaterialPageRoute创建到小部件的路由。然后将您的路线以及上下文放到Navigator。pushReplacement完成当前屏幕,而push在其上创建新的小部件。 Route route = MaterialPageRoutebuilder: context = YourWidget; Navigator.pushReplacementcontext, route;

  • 什么是Flutter中的jest快照测试等效?

    只能使用来使用小部件testWidgets: testWidgets'golden', tester async { await tester.pumpWidgetContainer color: Colors.red, ; await expectLater find.byTypeContainer, matchesGoldenFi

  • 在initState或类构造函数中定义小部件,而不是在构建?

    这是合法的优化。实际上,您甚至可以对与状态相关的小部件(与结合使用didUpdateWidget)执行相同的操作。胜利是微不足道的。 小部件非常轻巧,Dart已针对许多微实例进行了优化。 这种方法有一个问题:您松开热装。 重用旧的窗口小部件实例仍然非常有用。仿佛小部件实例不变,Flutter中止了子树的构建。 这在动画中经常使用,而

  • Flutter从资产文件夹添加自签名证书

    从您的问题尚不清楚,自签名证书的作用是什么。根据您的解决方法,我认为这是您已安装在HTTPS服务器中的服务器端证书。(这不是您要传递到服务器的客户端证书。) 因此,您需要做的是让Dart HttpClient信任该证书,该证书将作为TLS握手的一部分由服务器传递给它。(通过设置回调,您已经使客户端信任任何证书,而不仅仅是服务器的证书。) 要设置受信任的证书,请使用co

  • 颤动的图像在底部淡出(渐变)

    您需要一个ShaderMask,例如: ShaderMask shaderCallback: rect { return LinearGradient begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [Colors.black, Colors.tran

  • 如何在Flutter中返回小部件列表的一部分

    从Dart 2.2.2或更高版本开始,您可以使用传播运算符: ListView children: Widget[ Text'Section 1 Header', ..._buildSection1ListItems, Text'Section 2 Header', ]

  • 图像选择器颤动网1.9

    看来Flutter web 1.10 dev,Universal_html软件包是以下临时空缺职位的不错选择dart:html: import 'dart:convert'; import 'dart:typed_data'; import 'packa

  • 闪屏中的闪屏实现

    已更正代码: MaterialApp应该是所有小部件的父级(根)。 import 'package:fluttermaterial.dart'; import 'package:bmiHomePage.dart'; import 'dart:async'; main { runAppMyApp; } clas

  • Flutter:英雄过渡+小部件动画同时出现?

    我做过类似的事情,但是不幸的是我的代码还包含很多其他内容,而且要做起来相对繁琐,所以我不得不将它们分解成一个例子,这比我现在能做的要多。我将解释我所做的一般概念。也许还有更好的方法可以做到这一点。 您想编写一个StatefulWidget,其State也扩展了NavigatorObserver(您可以使用无状态的widget,但我认为不是)。我个人将其放置在树中导航器的上方(即,它在其“ build”功能中构建了导航器)

  • 如何将Firestore文档列表绑定到Flutter中的下拉菜单?

    new StreamBuilderQuerySnapshot stream: Firestore.instance.collection'categories'.snapshots, builder: context, snapshot{ if !snapshot.hasData return const Center child: const Cup

  • 在Flutter中,如何使当前用户从Firebase维护的缓存中登录,以获取电子邮件和密码的登录类型

    我尚不十分了解Flutter,但从您的错误消息来看,我认为这应该可以修复错误 someMethod async { FirebaseUser user = await FirebaseAuth.instance.currentUser; printuser.uid; }

  • Dart中的类构造函数语法之间的区别

    在任何人获得对新对象的引用之前,必须完全初始化Dart对象。由于构造函数的主体可以访问this,因此需要 在 进入构造函数的主体 之前 初始化该对象。 为此,生成的Dart构造函数具有一个初始化程序列表,看起来类似于C ++,您可以在其中初始化字段(包括final字段),但是您尚不能访问对象本身。语法: Movie.f

  • 获取对InheritedWidget上下文的访问权限

    不行。这是不可能的(或至少不建议这样做)。 问题在于您的InheritedWidget不应位于路线 内 ,而应位于路线 上方 。通常在上面MaterialApp 但是我希望我的身份验证能够推送登录屏幕,我不能放在上面MaterialApp! 这

  • TabBarView和BottomNavigationBar来控制在Scaffold主体上显示的内容

    我对您的代码进行了一些调整,以实现我认为您要的功能。 您可以通过单击选项卡或向左或向右滑动来在for选项卡之间切换。除了使用之外,Offstages您还可以创建所需类的新实例。 这是一个正在运行的示例,希望对您有所帮助: import 'package:fluttermaterial.dart'; void main { runAppnew

  • 有没有办法使用sqflite在flutter应用程序中检查数据库版本?

    SQFlite已经具有内置的版本管理,但是只有在具有迁移脚本的情况下它才可以使用。对于您所说的,可能不是您的情况。您需要手动管理版本控制: class DbHelper { static const NEW_DB_VERSION = 2; static final DbHelper _instance = DbHelper.internal; factory D

  • 按下后退按钮后如何刷新页面

    该Navigator.push方法返回Route的通用类型的future: Navigator.ofcontext .pushnew MaterialPageRouteString... .thenString value { printvalue; }; 在新路线中,当您拥有所需的价值时:

  • 如何解决“ Gradle构建未能产生Android捆绑包”。在Flutter

    我有相同的错误消息类似的问题。(成功创建APK版本,但未能构建应用捆绑包)对我有效的解决方案是升级Android Gradle版本。以下是适用于我的配置(您也可以升级到最新版本): androidgradlewrappergradle-wrapper.properties : distributionUrl

  • 如何在扑朔迷离中赋予“虚假边界”?

    图片 使用此组件: import 'dart:math'; import 'package:fluttermaterial.dart'; class CircularBorder extends StatelessWidget { final Color color; final

  • Flutter:共享首选项在启动时为null

    您的问题是您快速连续调用load()和printMyBool()。由于load()是异步调用,因此它尚未执行任何代码,因此仅对其进行了调度。因此,printMyBool在加载主体之前执行。 无需将静态函数放在类中-只需将它们声明为顶级函数即可。另外,您实际上并不希望_myBool是全局变量- 它应该是Widget状态的一部分。这样,当您更新它时,Flutter知道要重绘树的哪些部分。 我已经对您

  • 在flutter中的共享首选项中将数据存储为对象

    您需要先将其序列化为JSON,然后再保存并在阅读后反序列化 有关详细信息,请参见https:flutter.iodocsdevelopmentdata-and-a

  • Flutter中RecyclerView的替代品是什么?

    您还可以将animatedlist小部件用于动画。以下链接给出了代码示例。 动画列表

  • Flutter调试Apk反编译以获得源代码

    如果您的debug.apk处于调试模式,则可以使用apktool来提取的组件apk(由于使用的apk是zip文件,因此我正在使用单词提取)。 Flutter在调试模式下将源代码(带有注释!)保留在文件kernel_blob.bin中。因此,使用以下命令应该可以帮助您将代码提取到文件中: strings pathto

  • Flutter:应该只有[DropdownButton]值的一项

    好吧,因为没有问题有完全相同的解决方案。我的代码也面临同样的问题。这是我如何解决此问题。 我的DropdownButton的代码: DropdownButton items: _salutations .mapString item = DropdownMenuItemStringchild: Textitem

  • 使用FutureBuilder时重新加载数据

    Widget createListViewBuildContext context, AsyncSnapshot snapshot { RaisedButton button = RaisedButtononPressed: { setState {}; }, child: Text'Refresh',; .. here create widget with snapshot da

  • 是否可以使用抖动相机插件流式传输视频?

    看起来像在Flutter Live上使用其中一个开发演示所做的那样,这是有可能的。在此处查看YouTube视频。在24:17。CameraController上有一个名为getByteStream的方法。方法的