小编gen*_*ser的帖子

Flutter resizeToAvoidBottomInset true 不适用于 Expanded ListView

键盘隐藏了我的ListView(GroupedListView)。我认为这是因为ExpandedWidget。

我的身体:

Column(
        children: [
          Expanded(
            child: Padding(
              padding: const EdgeInsets.all(8.0),
              child: GroupedListView<dynamic, String>(
              controller: _scrollController,
              keyboardDismissBehavior:
                    ScrollViewKeyboardDismissBehavior.onDrag,
              physics: const BouncingScrollPhysics(
                    parent: AlwaysScrollableScrollPhysics()),
              itemBuilder: (context, message) {
                  return ListTile(
                      title: ChatBubble(message),
                  );
                },
              elements: messages,
              groupBy: (message) => DateFormat('MMMM dd,yyyy')
                    .format(message.timestamp.toDate()),
              groupSeparatorBuilder: (String groupByValue) =>
                    getMiddleChatBubble(context, groupByValue),
              itemComparator: (item1, item2) =>
                    item1.timestamp.compareTo(item2.timestamp),
              useStickyGroupSeparators: false,
              floatingHeader: false,
              order: GroupedListOrder.ASC,
              ),
            ),
          ),
          WriteMessageBox(
              group: group,
              groupId: docs[0].id,
              tokens: [widget.friendToken])
        ],
      );
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

为什么resizeToAvoidBottomInset不起作用?

我已经向 Flutter …

dart flutter flutter-layout

10
推荐指数
1
解决办法
6725
查看次数

无状态小部件内有状态小部件,反之亦然

在以下情况下,Flutter 重建/重绘如何工作:

  • 在有状态小部件内创建无状态小部件。
  • 在无状态小部件内创建有状态小部件。

每次有状态小部件状态发生变化时,有状态小部件内的无状态小部件是否都会渲染?

有状态小部件可以在无状态小部件内更改吗?它如何影响无状态小部件?

flutter flutter-state

10
推荐指数
1
解决办法
5460
查看次数

Google Play 控制台从发布概览中删除应用

Google Play 已将我的应用程序从生产环境中删除。我做了一些更改并想将新版本上传到Internal testing.

在 参考资料Publishing overview部分中我可以看到两个版本。生产中的旧版本和内部测试中的新修复版本。

我想要Send for review我的新版本,但我不想发送我的旧版本。

在此输入图像描述

如何从 中删除旧版本Publishing overview?我可以指定只查看新版本吗?

google-play google-play-console

8
推荐指数
1
解决办法
3249
查看次数

如何在 Flutter 中比较两个应用程序版本?

我试图比较 Flutter 中的两个应用程序版本:

final v1 = "1.0.0";
final v2 = "1.0.1";
Run Code Online (Sandbox Code Playgroud)

我如何声明哪个版本比另一个版本大?

dart flutter

8
推荐指数
3
解决办法
8386
查看次数

Flutter showDialog 未在 PopupMenuItem 点击上显示

我正在PopupMenuButton我的应用程序中使用。我想showDialog点击一个PopupMenuItem.

我的PopupMenuItem

PopupMenuItem(
    child: Text("Show dialog"),
    onTap: () { 
        showDialog(
            context: context,
            barrierColor: Colors.black26,
            builder: (context) => AlertDialog( 
            ...
        )
    },
),
Run Code Online (Sandbox Code Playgroud)

onSelected在里面使用也PopupMenuButton不起作用。

dart flutter

8
推荐指数
2
解决办法
2143
查看次数

如何标记(启用/禁用)Flutter RefreshIndicator

我想RefreshIndicator用布尔参数标记我的。

是否可以?有什么窍门呢?因为没有太多选择...

return RefreshIndicator(
    onRefresh: () async {
        return Future.value();
    },
    backgroundColor: Colors.white,
    color: Colors.pink,
    strokeWidth: 2.75,
    child: SingleChildScrollView(...)
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

flutter

7
推荐指数
1
解决办法
3067
查看次数

将调试符号上传到 Google Play 控制台时,Flutter“本机调试符号包含无效目录 __MACOSX”

我正在尝试将我的 Flutter 应用程序包从 Mac 上传到 Google Play,但收到有关添加“调试符号”的警告:

此应用程序包包含本机代码,并且您尚未上传调试符号。我们建议您上传符号文件,以便更轻松地分析和调试崩溃和 ANR。

根据这个答案,我需要压缩这三个文件夹并将其作为“调试符号”上传。

但是,在尝试上传压缩文件时出现上述错误:

本机调试符号包含无效目录 __MACOSX。仅支持 Android ABI。

问题是什么?我应该怎么办?

macos flutter google-play-console

6
推荐指数
1
解决办法
2043
查看次数

Flutter Firestore:在同一个查询中使用 whereNotIn 和 arrayContains 解析查询参数时发生错误

我的查询是:

snapshot = await FirebaseFirestore.instance
          .collection('dialogs')
          .where('active', isEqualTo: true)
          .where('users', arrayContains: globals.user.userId)
          .where('readers', whereNotIn: [globals.user.userId])
          .orderBy('priority')
          .limit(1)
          .get();
Run Code Online (Sandbox Code Playgroud)

我收到上述异常:

未处理的异常:[cloud_firestore/unknown] 解析查询参数时出错,有关详细信息,请参阅本机日志。

我在Firestore官方文档中找到了一些注释:

  • 每个查询最多可以使用一个 in not-in、 或array-contains-any子句。您不能在同一个查询中组合这些运算符。
  • 您不能将 not-in 与 not equals != 结合使用。

就我而言,一切都应该没问题。

我也尝试了几件事:

  • 如果我只删除该whereNotIn行,一切都很好。
  • 如果我只删除该arrayContains行,一切都很好。

为什么我会收到查询解析异常?谢谢

firebase flutter google-cloud-firestore

5
推荐指数
0
解决办法
317
查看次数

如何在 IOS 上使用 FCM 检测卸载?

TL; 博士

我正在使用 FCM 检测卸载。如果我收到NotRegistered token发送通知,我认为该应用程序已被卸载。

在 Android 上一切正常,而在 IOS 上我总是收到success回复,即使应用程序已经卸载了好几天。

更多信息

我已经读到可以使用 来检测卸载APNs feedback Service,其中 Apple 报告了任何不活动的令牌。

我还阅读了 Firebase 官方文档

content_available - 在 iOS 上,使用此字段表示 APNs 负载中的内容可用。当发送通知或消息并将此设置为 true 时,会唤醒不活动的客户端应用程序,并且消息通过 APNs 作为静默通知而不是通过 FCM 连接服务器发送。

为了通过 APN 发送通知,我尝试使用 发送推送通知content_available: true,但我无法NotRegistered token在 IOS 上重现错误。它仍然返回一条success消息。

我正在使用sendMulticast. 我的有效载荷:

const payload = {
  notification: {
      title: text,
  },
  android: {
      priority: "high",
      ttl: 60 * 60 * …
Run Code Online (Sandbox Code Playgroud)

apple-push-notifications node.js ios firebase-cloud-messaging

5
推荐指数
0
解决办法
130
查看次数

无法从 IOS 接收 Firebase 分析

我正在为 Android 和 IOS 开发 Flutter 应用程序。我正在使用firebase_analytics 8.2.0 包收集分析。

我已经按照包文档中的描述配置了我的应用程序。我的Podfile开头是$FirebaseAnalyticsWithoutAdIdSupport = true.

问题是我只能接收 Android 分析。

在此输入图像描述

我的代码:

final FirebaseAnalytics analytics = FirebaseAnalytics();

void onGroupCreate(String groupId, double totalInvites, bool isStatus) {
      analytics.logEvent(
        name: "create_group",
        parameters: <String, dynamic>{
          'user_id': globals.user.userId,
          'group_id': groupId,
          'total_invites': totalInvites,
          'is_status': isStatus
        },
      );
    }
Run Code Online (Sandbox Code Playgroud)

我的info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleDisplayName</key>
    <string>AppName</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key> …
Run Code Online (Sandbox Code Playgroud)

ios flutter firebase-analytics

5
推荐指数
2
解决办法
6974
查看次数