小编gol*_*oom的帖子

如何在 ExpansionPanelList 中的标题之间添加间距?

我是颤振的新手,并且在颤振的样式方式上有些挣扎(从没想过我会这么说,但我想念 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)

customization material-design flutter

5
推荐指数
1
解决办法
870
查看次数

与 mobx 一起颤动的可观察列表

我正在尝试制作一个可观察的列表(即当列表的元素被更改、删除或添加时,我希望 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>' 定义。

有没有办法在颤振中创建一个可观察的列表(或者更好的是,一个可观察的字典),或者还没有实现?

谢谢!

dart flutter mobx

4
推荐指数
2
解决办法
9282
查看次数

我需要取消 Stream&lt;QuerySnapshot&gt; (flutter)

我正在听 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 不太了解,所以我不确定如何做到这一点,但我真的想避免任何内存泄漏。

memory mobile flutter google-cloud-firestore stream-builder

3
推荐指数
1
解决办法
885
查看次数

ios 每次使用 firestore auth 都需要 reCAPCHA (Flutter)

我在我的颤振应用程序中使用电话验证。我的目标是有以下流程: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)

xcode recaptcha ios firebase-authentication flutter

2
推荐指数
1
解决办法
1515
查看次数