编程面试题

  • 在屏幕外构建小部件

    编辑:看起来这在Flutter的最新版本中中断了。不知道为什么,但是我想Flutter现在会在确定完全不可见叠加层时避免绘制。该方法仍然可以使用,但是需要与翻译结合才能将其移出屏幕:https : a href="https:gist.github.comitsJoK

  • 在Flutter应用中使用Socket?

    正如attdona所说, 您的服务器不会使用websocket协议,但是会公开一个纯TCP套接字。 所以你需要一个TCP套接字,并有一个伟大的教程Sockets和ServerSockets,你可以找到a href="http:jamesslocum.compost67566023889"

  • Flutter:测试期间的计时器问题

    问题是创建计时器会创建必须处置的资源,因此您的小部件实际上是有状态的,而不是无状态的。具体来说,该build方法可以每秒调用60次(如果平台为120fps ,则可以调用更多次)。少就是优化。 您的代码中有一个非常关键的错误-该build方法每次调用都会创建一个新的Timer。而且由于您的计时器永远不会取消,因此您可以将数百个或数千个事件调度到商店。

  • Flutter-我想将变量从一类传递到另一类

    在导航器中,您可以将要发送的数据或对象传递给其他类。 例如, Data need to sent second screen class Person { final String name; final String age; Personthis.name, this.age; } Navigate to second screen with data Nav

  • 在Flutter Webview中运行一些Javascript

    flutterWebviewPlugin.evalJavascript'script language="JavaScript" type="textjavascript"alert"Hello World"script' 需要JavaScript,而不是HTML script language="JavaS

  • 颤振保持闪屏3秒钟。如何在Flutter中实现启动屏幕?

    您可以使用延迟执行代码 Future.delayed new Future.delayedconst Durationseconds: 3, { Navigator.pushNamedcontext, 'login'; }; 更新 const delay =

  • 找不到Flutter插件`geolocator-Swift.h`文件

    由于该插件是使用Swift编写的,因此使用量较大的Flutter应用应基于Swift项目模板: $ flutter create -i swift my_app 然后,使用最新的Flutter beta版将其添加geolocator:到iOS pubspec.yaml并my_app为iOS 构建即可

  • Flutter如何将String转换为List

    您的字符串看起来像有效的JSON,因此它应该对您有用: import 'dart:convert'; ... var String a = '["one", "two", "three", "four"]'; var ab = json.decodea; printab[0]; return ["one"

  • Flutter Firestore分页

    这里有一个错误: Firestore.instance.collection'user'.where'name', isEqualTo: 'Tom'.orderBy'age'.startAfter_lastDocument.limit1.getDocuments.thensnapshot { snapshot.documents.forEachsnap

  • Flutter-为什么滑块在AlertDialog中不更新?

    问题在于,掌握状态的不是您的对话框。是名为的小部件showDialog。也是一样,当你打电话的setState,你是在对话框的创造者打来的。 问题是,对话框 不是 在build方法内部构建的。它们在不同的小部件树上。因此,当对话框创建者更新时,对话框不会。 相反,您应该使对话框保持状态。将数据保存在该对话框中。然后用

  • Flutter Widget测试与NetworkImage

    在小部件测试中,默认的HTTP客户端已替换为始终返回400s的客户端。在a href="https:github.comflutterflu

  • InheritedWidget-在navigator.push之后在null上调用getter

    在您提供的代码中,LoginScreen不是其后代的LoginBlocProvider原因就是它找不到祖先小部件。您的代码将WelcomeScreen路径包装在中LoginBlocProvider,而不是整个导航器中。解决方案是包装您MaterialApp的内容LoginBlocProvidercode

  • gradle无法在Android Studio中使用抖动

    您是否尝试过将Google Maven存储库添加到项目级别的build.gradle文件? buildscript { repositories { google jcenter maven { url "https:maven.google.com" } } 该buildscript部分或

  • Flutter:共享首选项

    答案是“取决于”。即,这取决于您对该函数的结果执行的确切操作,以及在该情况下正确的空默认值意味着什么。 假设您将返回的JSON字符串解码为MapString, dynamic,则一个很好的默认值可能是空映射。在这种

  • 如何获得泛型?

    Dart不支持类文字中的类型参数(https:github.comdart- langsdkissues11923) 但是您可以编写一个小的通用帮助程序: Type typ

  • 从Flutter上的TextFormField捕获数据以进行HTTP POST请求

    请参阅检索文本字段的值。 StatefulWidget在表格周围包裹一个 在中添加两个TextEditingController字段,State每个字段一个TextForm

  • showModalBottomSheet的Flutter onClosing回调

    也许这不是最佳解决方案,但是showModalBottomSheet返回一个“ Future”,因此您可以使用它。 例如: void _showModal { Futurevoid future = showModalBottomSheetvoid context: context, builder: BuildContex

  • 无法在flutter中同步build.gradle中的依赖项

    如果您使用Android Studio进行Flutter开发,请右键单击Flutter项目中的android文件夹。选择“ Flutter”-“在Android Studio中打开Android模块”。 要么 只需启动Android Studio并直接打开Android(子)项目。 无论如何,一旦在Android Studio中打开了Android项目,就可以在

  • Flutter-取消showDialog后的运行功能

    showDialog()可以等待回调,而Navigator.pop可以将值传回。所以代替: FutureNull gewinnerint gewinner_team, ListString spieler{ return showDialog .... ; } 您可以使用: F

  • 在Flutter中获取BuildContext进行本地化

    不,没有其他方法,因为它是使用进行存储的InheritedWidget,它是构建树的一部分,因此只能通过对其的引用(BuildContext)进行访问。 您将需要将其传递context到模型的某个深处

  • 如何显示本地图像,直到NetworkImage()抖动为止?

    您可能要尝试FadeInImage包装成一个ClipOval。FadeInIma

  • flutter中的initState和super.initState是什么?

    归功于@Remi,initState是有状态窗口小部件插入到窗口小部件树中时被调用一次的方法。 如果需要进行某种初始化工作(例如注册侦听器),则通常会覆盖此方法,因为与build调用此方法不同。 并且要注销您的侦听器(或进行一些后期工作),请重写disposemethod。 从a href

  • 从网址下载文件,保存到手机存储

    使用https:pub.dartlang.orgpackagesflutter_downloader。不要忘记进行平台配置。 基本上,这就是您应该使用软件包

  • 在浮动操作按钮上的onPressed回调中显示支架中的小吃店

    更新:第二个解决方案比此解决方案更好。 您应该将floatingActionButton小部件放在构建器小部件中。下面的代码应该工作: @override Widget buildBuildContext context { return new Scaffold floatingActionButton: new Builderbuilder: BuildCo

  • 如何在Flutter中将Future <>分配给窗口小部件?

    StatefulWidget可用于此目的。声明一个成员变量String _textFromFile = ""; 在您的State类中,并通过使用a href="https:docs.flutter.ioflutterw

  • 上传前如何检查视频文件的大小

    如果您具有文件的路径,则可以使用 dart:io var file = File'the_path_to_the_video.mp4'; 您可以使用: printfile.lengthSync; 要么 print await fil

  • Flutter:在子窗口小部件的状态上调用函数

    使用简单的应用程序,您只需在与VideoPlayer相同的Widget中创建播放按钮即可。通过将PlayerContainer与它的父级组合,您将增加小部件状态范围的大小,以便需要访问它的所有内容都成为单个较大小部件的一部分。 子控件可以受到祖先影响的主要方式是:通过使用不同的参数进行重建,或者通过聆听祖先更改的内容。对于后者,您可以在子级附近的某个地方使用InheritedWidget。如果子级引用InheritedWidge

  • 从Dart中的字符串中删除HTML标签

    最后,我使用html包实现了这一点 这是我做的 import ‘package:htmlparser.dart’; here goes the function String _parseHtmlStringString htmlString { var document = parsehtmlString; String parsedString = parsedocum

  • 如何限制Flutter中文本字段的大小?

    我必须在RSproute提到的内容上添加一个附加代码段。完整的代码在这里: TextEditingController _controller = new TextEditingController; String text = ""; empty string to carry what was there before it onChanged int maxLength = ... ... ne

  • 在Flutter中将焦点从一个文本字段更改为下一个文本字段

    是的,FocusNode 和onFieldSubmitted来自TextFormField的方法可能是

  • 有可能在flutter中构建android小部件吗?

    正如OP在编辑中提到的那样,当前无法实现,因为Flutter使用了自定义渲染引擎。 小部件的渲染能力非常有限。该文档说明只能使用某些布局。从理论上讲,您可以使用Flutter的软件渲染器在与主要实例不同的实例中渲染图像并进行显示,但这将是非常技

  • 如何在Flutter中禁用FlatButton的启动突出显示?

    我希望使用一种不可见的高光颜色来做您想要的事情: new FlatButton{ ... splashColor: Colors.transparent, highlightColor: Colors.transparent, makes highlight invisible too }

  • Flutter:如何使按钮扩展到其父控件的大小?

    将crossAxisAlignment属性添加到您的Row; crossAxisAlignment: CrossAxisAlignment.stretch

  • Flutter:如何修复ITMS-90809:不推荐使用的API-Apple将停止接受使用UIWebView API的应用程序的提交

    我认为它是从firebase_auth插件中使用的。尝试将其更新到最新版本,然后记住运行 pod pod update 。

  • Flutter异常:ScrollController附加到多个滚动视图

    不要_scrollController.offset直接使用推入路线,因为当您再次弹出时接近滚动时,显然会附加要获取的滚动位置 所以我们需要将其转移到一个状态 这是完整的修订代码。 import 'package:fluttermaterial.dart'; void main = runAppMyApp; class MyA

  • Flutter:如何保持用户登录和注销

    您可以从api获取响应代码200后,在“共享首选项”中输入一个条目。 SharedPreferences prefs = await SharedPreferences.getInstance; prefs?.setBool"isLoggedIn", true; 然后您可以在通过共享首选项检查状态后浏览用户 Futurev

  • 如何从方法通道中检索字符串列表

    这是我的方法。 Android本机代码(带有字符串的发送列表): new MethodChannelgetFlutterView, CHANNEL.setMethodCallHandler new MethodCallHandler { @Override public void onMetho

  • TabView中的动态子项

    您可以使用它ListE.generate来实现。 import 'package:fluttermaterial.dart'; 假设您从呼叫者页面传递了一组类别。假设这是您的类别列表。 ListString categories = ["a", "b", "c", "d", "e",

  • Flutter-在CustomPainters上获得触摸输入

    我同意您必须将CustomPainter放入具有大小的窗口小部件中。它可能是一个SizedBox,所以我在这里使用了它。幸运的是,您不需要进行手动命中测试,因为CustomPainter可以通过一些重构即可为您处理。首先要注意的是,不需要在每个paint()上重建路径- 可以在构造函数中构建路径。这使CustomPainter的hitTest可以简单地询问水龙头在路径内还是路径外。 class _

  • Flutter.io-是否可以在Flutter中深度链接到Android和iOS?

    您可以为此使用平台渠道。应该不难 您需要在本机代码中添加处理程序,并通过通道将URL重定向到浮动代码。适用于iOS的示例: @implementation AppDelegate - BOOLapplication:UIApplication *application didFinis