Questions tagged «flutter»

Flutter是Google的UI工具包,可通过一个代码库为移动设备,Web和桌面构建本地编译的应用程序。


14
Flutter中有状态和无状态小部件之间有什么关系?
有状态窗口小部件定义为在其生存期内更改其状态的任何窗口小部件。但是StatelessWidget,将aStatefulWidget作为其子级之一是非常普遍的做法。StatelessWidget如果将其StatefulWidget作为子级之一,是否不会成为有状态的? 我试图寻找到的文件作为代码的一部分StatelessWidget,但无法弄清楚如何StatelessWidget可以Statefulwidget作为它的孩子,但仍保持StatelessWidget。 Flutter中有状态和无状态小部件之间的关系和区别是什么?


4
颤振将两个项目在极端位置对齐-一个在左边,另一个在右边
我试图将两个项目的极端对齐,一个在左边,另一个在右边。我有一排在左边对齐,然后该行的一个孩子在右边对齐。但是,似乎子行正在从其父行获取alignment属性。这是我的代码 var SettingsRow = new Row( mainAxisAlignment: MainAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.center, mainAxisSize: MainAxisSize.max, children: <Widget>[ Text("Right",softWrap: true,), ], ); var nameRow = new Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, mainAxisSize: MainAxisSize.max, children: <Widget>[ Text("Left"), SettingsRow, ], ); 结果我得到这样的东西 Left Right 我想要的是 Left Right 行上也有足够的空间。我的问题是为什么孩子Row不能展示其MainAxisAlignment.end财产?

15
InkWell不显示涟漪效应
轻敲容器会触发onTap()处理程序,但不会显示任何墨水飞溅效果。 class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text(widget.title), ), body: new Center( child: new InkWell( onTap: (){print("tapped");}, child: new Container( width: 100.0, height: 100.0, color: Colors.orange, ), ), ), ); } } 我试图把InkWell里面的东西也Container一样,但徒劳无功。

4
Flutter:如何正确使用继承的窗口小部件?
使用InheritedWidget的正确方法是什么?到目前为止,我了解到它为您提供了沿Widget树向下传播数据的机会。在极端情况下,如果您将其作为RootWidget放置,则可以从所有Route的树中的所有Widget进行访问,这很好,因为以某种方式我必须使Widget可以访问ViewModel / Model,而不必诉诸于globals或Singletons。 但是InheritedWidget是不可变的,那么如何更新它?更重要的是,如何触发我的有状态小部件来重建其子树? 不幸的是,这里的文档非常不清楚,与许多人讨论之后,似乎没人真正知道使用它的正确方法。 我引用了Brian Egan的话: 是的,我将其视为在树上传播数据的一种方式。我从API文档中发现了令人困惑的地方: “以这种方式引用继承的小部件时,当继承的小部件自身更改状态时,将导致使用者重建。” 当我第一次阅读这篇文章时,我想: 我可以在InheritedWidget中填充一些数据,并在以后对其进行突变。当发生这种突变时,它将重建引用我的InheritedWidget的所有Widget: 为了使InheritedWidget的状态发生变化,您需要将其包装在StatefulWidget中,然后实际上使StatefulWidget的状态发生变化,然后将此数据传递给InheritedWidget,该InheritedWidget将数据传递给所有子项。但是,在那种情况下,似乎要重建StatefulWidget之下的整个树,而不仅仅是引用InheritedWidget的Widget。那是对的吗?还是以某种方式知道如果updateShouldNotify返回false时如何跳过引用InheritedWidget的Widget?

7
如何在Flutter小部件中创建超链接?
我想创建一个超链接以显示在我的Flutter应用中。 超级链接应嵌入一个Text或类似的文本视图中,例如: The last book bought is <a href='#'>this</a> 有任何提示吗?
103 flutter 

9
颤振:垂直居中
如何在Flutter中将列垂直居中?我已经使用了小部件“新中心”。我已经使用了小部件“新中心”,但是它没有使我的列垂直居中?任何想法都会有所帮助。 @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Thank you"), ), body: new Center( child: new Column( children: <Widget>[ new Padding( padding: new EdgeInsets.all(25.0), child: new AnimatedBuilder( animation: animationController, child: new Container( height: 175.0, width: 175.0, child: new Image.asset('assets/angry_face.png'), ), builder: (BuildContext context, Widget _widget) { return …
103 flutter 


8
如何在Flutter中停用或覆盖Android“后退”按钮?
在特定页面上,有没有办法停用Android后退按钮? class WakeUpApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: "Time To Wake Up ?", home: new WakeUpHome(), routes: <String, WidgetBuilder>{ '/pageOne': (BuildContext context) => new pageOne(), '/pageTwo': (BuildContext context) => new pageTwo(), }, ); } } 在pageOne上,有一个按钮可以转到pageTwo: new FloatingActionButton( onPressed: () { Navigator.of(context).pushNamed('/pageTwo'); }, …
101 flutter 


30
Flutter和google_sign_in插件:PlatformException(sign_in_failed,com.google.android.gms.common.api.ApiException:10:,null)
凭证对话框(Google表单)已成功打开,但是在填写凭证后出现此错误。我遵循了这里的指示。创建了一个Firebase项目,并从Google API控制台启用了Google Drive API(这是我现在需要的)。 代码抛出异常: final GoogleSignIn _googleSignIn = GoogleSignIn( scopes: [ 'https://www.googleapis.com/auth/drive', ], ); await _googleSignIn.signIn(); 那是堆栈跟踪: E/flutter ( 5068): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception: E/flutter ( 5068): PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null) E/flutter ( 5068): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:551:7) E/flutter ( 5068): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:292:18) E/flutter ( 5068): <asynchronous …


9
枚举或映射Dart中具有索引和值的列表
在dart中,有任何等同于常见的东西: enumerate(List) -> Iterator((index, value) => f) or List.enumerate() -> Iterator((index, value) => f) or List.map() -> Iterator((index, value) => f) 看来这是最简单的方法,但仍然不存在此功能似乎很奇怪。 Iterable<int>.generate(list.length).forEach( (index) => { newList.add(list[index], index) }); 编辑: 感谢@ hemanth-raj,我得以找到所需的解决方案。我将把它放在这里,供需要执行类似操作的任何人使用。 List<Widget> _buildWidgets(List<Object> list) { return list .asMap() .map((index, value) => MapEntry(index, _buildWidget(index, value))) .values .toList(); } 或者,您可以创建一个同步生成器函数以返回一个可迭代 Iterable<MapEntry<int, …
99 dart  flutter 

8
如何使用Flutter保存到本地存储?
在Android中,如果我有要在各个会话之间保留的信息,我知道可以使用SharedPreferences或创建SQLite数据库,甚至将文件写入设备并在以后读取。 是否可以仅使用Flutter来保存和还原此类数据?还是我需要像服务示例中那样为Android和iOS编写设备特定的代码?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.