编程面试题

  • Flutter SVG渲染

    Flutter当前不支持SVG。请关注问题1831,以获取更新。 如果您绝对需要矢量绘图,则可以看到a href="https:github.comflutterflutterblobmasterpackagesflutterlibsrcpaintingflutter_logo.da

  • 异步/等待/然后在Dart / Flutter中

    简单来说: await旨在中断流程直到异步方法完成。 then但是不会中断处理流程(意味着将执行下一条指令),但是使您可以在异步方法完成后运行代码。 在您的示例中,您无法实现使用时想要的功能,then因为代码不是“等待中”,并且该return语句已处理,因此返回一个空列表。 当您添加时co

  • 如何在Flutter中更新ModalBottomSheet的状态?

    您也许可以使用中showBottomSheet的ScaffoldState。在此阅读更多有关showBottomSheet的信息。 这将显示bottomSheet并返回一个控制器Persi

  • Flutter检测杀死该应用程序

    另请参阅https:flutter.ioflutter-for-andr

  • 从Flutter的Firestore收藏中获取全部

    使用 StreamBuilder import 'package:fluttermaterial.dart'; import 'package:firebase_firestorefirebase_firestore.dart'; class ExpenseList extends StatelessWidget { @override Widget buildBuild

  • 在应用程序主屏幕上显示警报对话框会自动在抖动中加载

    我把它放在initState一个State(的StatefulWidget)。 将其放置在小部件的build方法中Stateless很诱人,但这将多次触发您的警报。 在下面的示例中,当设备未连接到Wifi时,它将显示警报,如果未连接,则显示[重试]按钮。 co

  • 飘荡的持久导航栏带有命名路线?

    您可以使用自定义的Navigator来满足这3个要求。 Flutter团队对此做了一个视频,下面是他们的文章:a href="https:medium.comfluttergettin

  • Flutter停留在安装build \ app \ outputs \ apk \ app.apk

    我通过手动安装在builds文件夹中生成的apk文件解决了这一问题。之后,运行flutter run该应用程序在我的手机上。

  • 如何设置CircularProgressIndicator的大小?

    您可以将其包装CircularProgressIndicator在SizedBox小部件中 @override Widget buildBuildContext context { return Container child: Center child: Column

  • 检查正在运行的应用程序是否处于调试模式

    虽然这可行,但最好使用常量kReleaseMode或kDebugMode。有关完整说明,请参见下面的Rémi答案,这可能是公认的问题。

  • 子树中有多个共享相同标签的英雄

    我之前遇到过这种情况,这是因为我FloatingAction在一个屏幕上有两个按钮,所以我必须添加一个heroTag属性+每个值FloatingActionButton,以消除错误。 例: new FloatingActionButton heroTag: "btn1", ... new FloatingActionBu

  • 如何在Flutter中保存图像文件?使用Image_picker插件选择的文件

    使用await ImagePicker.pickImage...,您已经走在正确的轨道上,因为该函数返回一个File。 本File类

  • 输入“列表'不是'List类型的子类型'

    这里的问题是类型推断以意外的方式失败。解决方案是为该map方法提供类型实参。 snapshot.data.documents.mapWidgetdocument { return new ListTile title: new Textdocument['name'], subtitle: new Text"Class", ; }

  • 如何在Flutter项目中更改Android minSdkVersion

    确实有可能增加minSdkVersion,但是我花了太多时间才找到它,因为google搜索主要是收益,因为关于绝对最小Sdk版本抖动的结果讨论应该能够支持,而不是如何在您自己的项目中增加它。 就像在Android Studio项目中一样,您必须编辑build.gradle文件。在颤动的项目中,可以在path中找到它.androidappbuild.gradle。

  • Flutter StreamBuilder与FutureBuilder

    双方StreamBuilder并FutureBuilder具有相同的行为:他们倾听他们各自的对象上的变化。并在收到新值通知时触发新构建。 因此,最终,他们的区别在于他们收听对象的方式。 Future就像Promise在JS或TaskC#中一样。它们是异步请求的表示。Fut

  • Flutter:设置AppBar的高度

    您可以使用PreferredSize: class MyApp extends StatelessWidget { @override Widget buildBuildContext context { return Material

  • Flutter:尝试使某列在列中居中,但仍保持左对齐

    如果您只有一个孩子,请选择Align。 如果您还有更多内容,请考虑执行以下操作: return new Col

  • mapEventToState仅触发一次

    基本上,而不是屈服* _counterStream你需要得到这个IE中的状态Active或Inactive 改变这个 if event is ActiveEvent { _counter.addActiveactive: true, count: currentState.count; yield*

  • 多个小部件使用相同的GlobalKey

    您可以手动创建密钥并使用静态常量值吗?例如… import 'package:flutterwidgets.dart'; class RIKeys { static final riKey1 = const Key'__RIKEY1__'; static final riKey2 = const Key'__RIKEY2__'; static final riKey3 = const K

  • 子类扩展StatelessWidget或StatefulWidget类的类

    在Flutter中,与继承相比,组合优先。 小部件不应该扩展,这就是为什么没有示例或教程的原因。 Flutter着重于构图,所包含的窗口小部件库包含许多做得很好的较小的窗口小部件,从而允许它们以多种不同方式组合成自定义窗口小部件。

  • Flutter App停留在“正在运行Gradle任务'assembleDebug'...”

    就我而言,Windows防火墙导致了此问题。我暂时禁用它之后,问题就消失了。值得一试。祝好运!

  • 错误完成:Gradle任务assembleDebug失败,退出代码为1

    主要问题似乎是您使用的cloud_firestore插件版本0.9.0 已迁移到AndroidX,但您的项目尚未迁移。因此,看来这两个选项是使用该cloud_firestore插件的先前版本或将您的项目迁移到AndroidX。 要将您的项目迁移到AndroidX,请按照我在上面的评论中提到的链接(a href="https:github.comflutt

  • Dart中的未来/异步/等待

    不,异步具有传染性,没有办法从异步返回到同步执行。 async await仅用于methodThatReturnsFuture.then... 用标记方法async仅允许您await在其内部使用。否则,async您仍然需要返回一个Fut

  • Flutter Firestore服务器端时间戳

    截至9月5日,更新的cloud_firestorev0.8.0库现在具有FieldValue.serverTimestamp。现在宇宙万物都好

  • 像HH:mm:ss一样格式化持续时间

    您可以使用Duration和实现此方法: String _printDurationDuration duration { String twoDigitsint n = n.toString.padLeft2, "0"; String twoDigitMinutes = twoDigitsduration.inMinutes.remainder60

  • 如何在Dart中使用RegEx?

    我认为您已尝试在原始表达式字符串中包含选项,而您已经将其作为RegEx的参数(对于大小写不敏感的 i声明为caseSensitive:false)。 Removed i at the end Removed in front - Thanks to Günter for warning RegExp regExp = new RegExp r"^WS{1,2}:\\\d{1,3}\.

  • 生成器与GlobalKey

    我们倾向于避免的真正原因GlobalKey与性能无关。它与以下事实更为相关:它会打乱一些图案。 根据定义,小部件不应能够访问其他小部件的具体信息(例如其大小或位置)。并GlobalKey授予访问此类信息的能力;允许人们做反模式的东西。 可以认为GlobalKey是 弹出 Flutter反应层的一种手段。

  • Gradle失败评估项目':app'时发生问题

    编辑2019-12-13 : 从2019年12月11日发布的Flutter 1.12(稳定版)开始,Flutter样板版现在包括 Gradle发行版5.6.2和插件版本3.5.0,有望使这成为一个历史性的SO问题。插件版本3.5.3是最新的,但即使版本3.5.0

  • Flutter中带有导航栏的永久视图

    您可以在此处使用相同的方法。父窗口小部件可以包含两个部分:Navigator和PermanentView。通过推送路线,您将仅更改导航器小部件。演示: import 'package:fluttermaterial.dart'; class MyApp extends StatefulWidget { @override _MyAppState createState = new _MyA

  • Flutter:状态错误:流已被收听

    问题是由于未将控制器放置在整体中。 void dispose { monthChangedController.close; dayPressedController.close; resultController.close; }

  • 无法使用Flutter呼叫Localhost,随机端口已分配给HTTP GET呼叫

    这应该做 adb reverse tcp:5000 tcp:5000 https:developer.android

  • Flutter重定向到initState上的页面

    尝试包装您的Navigator电话: Navigator.ofcontext.pushNamed"login"; 在预定的回调中addPost

  • 如何在flutter中实现下拉列表?

    试试这个 new DropdownButtonString items: String['A', 'B', 'C', 'D'].mapString value { return new DropdownMenuItemString value: value, child: new Textvalue, ;

  • 如何使用共享首选项使用户保持登录状态?

    Login如果用户详细信息已保存在存储器中,则可以导航至该页面,否则将Home使用以下代码导航至该页面 Futurevoid main async { WidgetsFlutterBinding.ensureInitialized; SharedPreferences prefs = await SharedP

  • 如何将消息从Flutter传递给Native?

    这是一个简单的实现,展示了: 将字符串值从Flutter传递到Android代码 从Android代码获得响应以应对混乱 代码基于以下示例:https:a href="https:flutter.ioplatform-chan

  • 使用平台通道在Flutter中调用本机库

    如果尚未启动插件项目,请创建一个。 在某个地方收集第三方罐子-不要将它们放在 pluginproject android …文件夹中。 在您的IDE中打开插件项目(在我的示例中为IDEA),然后将第三方jar添加到Java类路径中。(在IDEA中,单击项目结构模块选择 pluginName _android Dependencies选项卡绿色Plus

  • Flutter中的primaryColor和primarySwatch有什么区别?

    primarySwatch是 不是 一个Color。是MaterialColor。这意味着它是材质应用程序将使用的颜色的不同阴影。 primaryColor是这些阴影之一。确切地说,primaryColor通常等于primarySwatch[500]。p

  • 如何在Flutter中创建服务以使应用始终在后台运行?

    没有办法直接从扑做到这一点 ,现在 尽管这可能在某个时刻改变-看到这个bug 功能请求。您确实有几个选择。 第一种是使用MethodChannels并简单地编写您想要创

  • 颤振,异步调用后呈现窗口小部件

    最好的方法是使用FutureBuilder。 从FutureBuilder文档中: new FutureBuilderString future: _calculation, a FutureStrin

  • 在Flutter上进行Firestore查询

    下面的示例遍历集合“字段”中的每个文档,并根据“种植者”进行过滤。没有关于它的文档,但是您可以检查源代码。 import 'package:cloud_firestorecloud_firestore.dart'; Firestore.instance.collection'fields'.where'grower', isEqualTo: 1 .snapshots.listen