我是颤振的新手,并且在颤振的样式方式上有些挣扎(从没想过我会这么说,但我想念 css)。我制作了一个 ExpansionPanelList 并且我想在标题之间添加间距,以便我得到更像这样的东西:
而不是像这样将所有标题压在一起 
当我在做的时候,我也想为标题添加一个框阴影(基本上,我希望它们看起来和第一张图片完全一样)。有没有简单的方法来实现这一目标?
我尝试向标头构造函数添加填充,但这只会使整个标头变大,并且没有在标头之间添加任何空间(回想起来是有道理的)。
这是我当前的代码(几乎只是一个样板列表)
Widget _buildPanel() {
return ExpansionPanelList.radio(
initialOpenPanelValue: null,
expansionCallback: (int index, bool isExpanded){
widget.store.toggleExpandable(index);
if(widget.store.expandables.contains(true)){
if(!widget.store.fullView){
ExpandNotification(expand: true)..dispatch(context);
widget.store.toggleView();
}
}
else{
if(widget.store.fullView){
ExpandNotification(expand: false)..dispatch(context);
widget.store.toggleView();
}
}
},
children: _data.map<ExpansionPanelRadio>((Item item) {
return ExpansionPanelRadio(
value: item.id,
canTapOnHeader: true,
headerBuilder: (BuildContext context, bool isExpanded) {
return ListTile(
title: Text(item.headerValue),
);
},
body: ListTile(
title: Text(item.expandedValue),
subtitle: Text('To delete this panel, tap the trash can icon'),
trailing: Icon(Icons.delete),
onTap: () {
setState(() {
_data.removeWhere((currentItem) …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个可观察的列表(即当列表的元素被更改、删除或添加时,我希望 UI 更新)。我知道 mobx 有一个叫做“observableList”的东西,所以这看起来应该是可能的。但是,我在实施它时遇到了问题。我目前在我的 mobx 商店文件中有以下代码:
var metrics = Observable([.5,.5,.5]);
Run Code Online (Sandbox Code Playgroud)
然后,我尝试更改其中一个元素,如下所示:
metrics[index] = data;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
方法 '[]=' 没有为类 'Observable>' 定义。
有没有办法在颤振中创建一个可观察的列表(或者更好的是,一个可观察的字典),或者还没有实现?
谢谢!
我正在听 firestore 中的一系列文档(作为聊天应用程序的一部分)。我是通过使用服务来做到这一点的,该服务创建Stream<QuerySnapshot>如下:
_snapshots$ = Firestore.instance.collection('messages').orderBy('date',descending: false).snapshots()
Run Code Online (Sandbox Code Playgroud)
然后我创建一个 StreamBuilder 如下:
return StreamBuilder<List<Message>>(
stream: widget.chatService.messages$,
builder: (context, snapshot) => (snapshot.hasData)
...
Run Code Online (Sandbox Code Playgroud)
我想知道是否需要在包含StreamBuilder小部件的 dispose 方法中分离此流。我对 Streams 和 StreamBuilders 不太了解,所以我不确定如何做到这一点,但我真的想避免任何内存泄漏。
我在我的颤振应用程序中使用电话验证。我的目标是有以下流程:1. 用户输入电话号码 2. 用户收到验证码 3. 用户输入代码并登录。在 android 上,这就是我得到的流程。然而,在 ios 上,它是 1. 用户输入电话号码 2. reCAPCHA 页面打开以确保我不是机器人 3. 用户收到验证码 4. 用户输入代码并登录(这发生在 ios 模拟器上) . 我想去掉 reCAPCHA 页面。有些人建议我打开“远程通知”,所以我尝试在 Xcode 中通过将其作为“功能”添加到我的跑步者中来做到这一点,现在我的 Info.plist 包括
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
Run Code Online (Sandbox Code Playgroud)
这似乎是正确的。但是,这并没有解决问题,我仍然面临着验证码。
Firebase 身份验证的版本:
firebase_auth: 0.15.4
Run Code Online (Sandbox Code Playgroud)
颤振医生的输出
[?] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-US)
• Flutter version 1.12.13+hotfix.5 at /Users/gollyzoom/development/flutter
• Framework revision 27321ebbad (3 months ago), 2019-12-10 18:15:01 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0
[?] Android toolchain - …Run Code Online (Sandbox Code Playgroud)