小编Blo*_*oss的帖子

如何在 Flutter 中处理密码中的 TextField 验证

我创建了一个登录页面,我需要将这些内容添加到我的密码中。如何使用验证警报消息执行此操作?

  • 最少 1 个大写
  • 最少 1 个小写
  • 最少 1 个数字
  • 最少 1 个特殊字符
  • 通用允许字符 ( ! @ # $ & * ~ )

dart flutter

23
推荐指数
2
解决办法
3万
查看次数

在 Flutter 上单击背景通知时如何导航?

单击后台FCM 通知时是否可以导航到指定路径?

我创建了一个顶级函数并将其添加到导航器路径但它不起作用,当单击后台通知时,它只会打开应用程序

我想我发现了一个问题

现在,我将fcm配置从更改home pagesplash screen. 前台没有导航到页面,我认为这是因为启动画面不再可用。当我点击通知消息时,它只会打开应用程序。

FCM 配置

onBackgroundMessage: backgroundMessageHandler
Run Code Online (Sandbox Code Playgroud)

顶层函数

Future<dynamic> backgroundMessageHandler(Map<String, dynamic> message) {
  if (message.containsKey('data')) {
    getIt<NavigationService>().navigateTo('/${message['data']['screen']}');
  }
}
Run Code Online (Sandbox Code Playgroud)

有效载荷

const payload: admin.messaging.MessagingPayload = {
                notification:{
                    title: `New Enquiry`,
                    body:`${customerName} published to ${subName}`,
                    badge: '1',
                    sound: 'default'
                },
                data: {
                    click_action: `FLUTTER_NOTIFICATION_CLICK`,
                    sound: `default`,
                    status: `chat`,
                    screen: `homePage`
                  }
            }
Run Code Online (Sandbox Code Playgroud)

main.dart

GetIt getIt = GetIt.instance;

void main() {
  setupLocator();
    runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)

材料应用

 return MaterialApp( …
Run Code Online (Sandbox Code Playgroud)

background dart firebase flutter firebase-cloud-messaging

13
推荐指数
3
解决办法
7131
查看次数

如何使用 Flutter 更新云 Firestore 上文档中的字段?

我尝试更新我的 firestore 数据库字段。

  Future<void> approveJob(String categoryId) {
Run Code Online (Sandbox Code Playgroud)

数据库中的注释行已更新。但我硬编码了uid。没有商店可以获取uid吗?

   //return _db.collection('jobs').document('25FgSmfySbhEPe1z539T').updateData({'isApproved':true});


   return _db
        .collection('jobs')
        .where("categoryId", isEqualTo: categoryId)
        .getDocuments()
        .then((v) {
          try{
            v.documents[0].data.update('isApproved', (bool) => true,ifAbsent: ()=>true);

// No Errors. But not updating

         }catch(e){
            print(e);
          }
    });
  }
Run Code Online (Sandbox Code Playgroud)

dart firebase flutter google-cloud-firestore

12
推荐指数
3
解决办法
3万
查看次数

如何检查两个地图在飞镖中是否相等

是否可以检查两个地图是否相等java equals

void main() {
  Map map1 = {'size': 38, 'color': 'red'};
  Map map2 = {'size': 38, 'color': 'red'};

  if(map1== map2){//both keys and values
    print('yes');
  }else{
    print('no');
  }
}
Run Code Online (Sandbox Code Playgroud)

dart

10
推荐指数
4
解决办法
3579
查看次数

如何解决对话框中的溢出问题?

我添加了对话框,但底部溢出了。像这样的问题如何解决? 返回显示对话框

 return showDialog(
        //  barrierDismissible: false,
        context: context,
        builder: (BuildContext context) {
          return  Dialog(
            //this right here
            child: Theme(
              data: ThemeData().copyWith(
                inputDecorationTheme: InputDecorationTheme(
                  border: OutlineInputBorder(),
                ), ),
Run Code Online (Sandbox Code Playgroud)

孩子的容器

              child: Container(
                color: Colors.blueGrey[100],
                height: MediaQuery.of(context).size.height / 2.5,
                width: MediaQuery.of(context).size.width / 1,
                child: Padding(
                  padding: const EdgeInsets.all(8.0),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.spaceAround,
                    children: <Widget>[
Run Code Online (Sandbox Code Playgroud)

第一排

                      Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: <Widget>[
                          Expanded(child: Text(AppTranslations.of(context).text("minimum_length")),),
                          Text(": 6")
                        ],),
Run Code Online (Sandbox Code Playgroud)

其他行与第一行相同

灰色填充 允许的文本

                      Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: SingleChildScrollView(
                        child: Row(
                          children: <Widget>[
                            Expanded(
                              child: Text(
                            AppTranslations.of(context).text("allowed_character"), …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-dependencies flutter-layout flutter-animation

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

错误:在提供程序包中找不到类型“SingleChildCloneableWidget”

我更新了提供者。现在它不工作

lib/di/global_providers.dart:13:6: 错误:找不到类型“SingleChildCloneableWidget”。列出 globalProviders = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:18:6: 错误:找不到类型“SingleChildCloneableWidget” . 列出独立服务 = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:23:6: 错误:找不到类型“SingleChildCloneableWidget” . ListdependentServices = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/main.dart:18:16: 错误:参数类型'List'可以' t 分配给参数类型“列表”。-“列表”来自“dart:core”。- 'SingleChildWidget' 来自 'package:nested/nested.dart' ('../../flutter/.pub-cache/hosted/pub.dartlang.org/nested-0.0.4/lib/nested.dart' )。提供者:全球提供者,^ lib/di/global_providers.dart:13:6: 错误:“SingleChildCloneableWidget”不是一种类型。列出 globalProviders = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:18:6: 错误:'SingleChildCloneableWidget' 不是一种。列出独立服务 = [ ^^^^^^^^^^^^^^^^^^^^^^^^^ lib/di/global_providers.dart:23:6: 错误:'SingleChildCloneableWidget' 不是一种。列出依赖服务 = [ SingleChildCloneableWidget' 不是一种类型。列出依赖服务 = [ SingleChildCloneableWidget' 不是一种类型。列出依赖服务 = [

代码

List<SingleChildCloneableWidget> globalProviders = [
  ...independentServices,
  ...dependentServices,
];

List<SingleChildCloneableWidget> independentServices = [
  Provider.value(value: YelloChatDb()),
  Provider.value(value: YelloChatClient()),
];

List<SingleChildCloneableWidget> dependentServices = [
  ProxyProvider<YelloChatDb, CategoryDao>(
      update: (context, …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-provider

7
推荐指数
2
解决办法
2130
查看次数

如何更改颤振中的文本选择选项?

我尝试添加文本编辑格式选项,就像在 Gmail 应用程序中一样。但是当突出显示文本时,没有格式选项。是否可以处理选择警报?(复制/剪切/粘贴)。或者有没有办法像gmail一样添加格式栏?

       TextField(
          controller: _categoryController,
          decoration: InputDecoration(
            border: InputBorder.none,
            hintText: "Enter Category Name",
          ),
        ),
Run Code Online (Sandbox Code Playgroud)

我添加了屏幕截图和 gif 文件以更好地理解我的问题。

在我的 Flutter 应用程序上选择选项

在我的 Flutter 应用程序上选择选项

在 Gmail 应用程序上选择选项

在此输入图像描述

dart flutter flutter-layout

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

6
推荐指数
2
解决办法
2万
查看次数

如何在 Flutter 上获取风味名称?

是否有可能获得 Flutter 方面的风味名称?适用于 android 和 ios

构建.gradle

flavorDimensions "app"

productFlavors {
    dev {
        dimension "app"
        versionCode 2
        versionName "1.0.0"
    }
    qa {
        dimension "app"
        applicationId "com.demo.qa"
        versionCode 3
        versionName "1.0.2"
    }
}
Run Code Online (Sandbox Code Playgroud)

dart flutter

6
推荐指数
4
解决办法
3854
查看次数

是否可以在 Flutter 中使用 FCM 实现通知分组/捆绑?

我尝试实现这样的组通知android group notificationios group notification。但我做不到。我也试过这个flutter_local_notification插件。但这仅在应用程序打开时有效。不在前台(onResume)和后台工作。

  void registerNotification() {
    
    _fcm.configure(
        onMessage: (Map<String, dynamic> message) {
          return;
        },
        onResume: (Map<String, dynamic> message) {
            return;
        },
        onLaunch: (Map<String, dynamic> message) {
          return;
        },
        onBackgroundMessage: backgroundMessageHandler);
  }
Run Code Online (Sandbox Code Playgroud)

有效载荷

const payload = {
  notification: {
    title: title,
    body: message,
  },
  data: {
    click_action: "FLUTTER_NOTIFICATION_CLICK",
    sound: "default"
  },
  android: {
    priority: "high",
    collapse_key: userName,//tried to add collapse_key for group notification
  },
  apns: {
    headers: {
      "apns-priority": "5",
    },
  },
  token:token, …
Run Code Online (Sandbox Code Playgroud)

firebase flutter firebase-cloud-messaging

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