小编Zer*_*ive的帖子

如何在前台接收推送通知时显示颤动本地通知?

目前,我正在使用警报对话框在应用程序处于前台时接收推送通知时显示通知。但我想在颤振中显示一些非侵入性的东西,比如本地通知。我如何在我的应用程序中实现它?这是我目前的实现:

FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
  @override
  void initState() {
    _firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        showDialog(
          context: context,
          builder: (context) => AlertDialog(
            content: ListTile(
              title: Text(message['notification']['title']),
              subtitle: Text(message['notification']['body']),
            ),
            actions: <Widget>[
              FlatButton(
                child: Text('Ok'),
                onPressed: () => Navigator.of(context).pop(),
              ),
            ],
          ),
        );
        print("onMessage: $message");
      },
      onLaunch: (Map<String, dynamic> message) async {
        print("onLaunch: $message");
        Navigator.pushNamed(context, '/notify');
      },
      onResume: (Map<String, dynamic> message) async {
        print("onResume: $message");
      },
    );
}
Run Code Online (Sandbox Code Playgroud)

dart flutter firebase-cloud-messaging

13
推荐指数
1
解决办法
1万
查看次数

Dart Http 包请求超时

http在我的 flutter 应用程序中使用包时,我遇到了一个小问题。我正在 localhost 上进行测试,当我使用 http.post 在数据库中发布某些内容时,它不会在服务器未运行时返回默认时间(即我认为 60 秒)的响应。当我在超时内启动 apache 和 mysql 服务时,它会在服务器中发布数据。有没有办法减少dart http包中http请求的超时时间?或者有什么替代解决方案?

http dart flutter

12
推荐指数
2
解决办法
5591
查看次数

如何仅从颤振中的字符串中提取数字?

假设我有一个字符串:

a="23questions";
b="2questions3";
Run Code Online (Sandbox Code Playgroud)

现在我需要从两个字符串中解析 23。如何从字符串值中提取该数字或任何数字?

dart flutter

10
推荐指数
2
解决办法
5513
查看次数

可见性与条件小部件

我有一个多级用户应用程序,其中我实现了基于角色的小部件。例如;

final user=Provider.of<UserNotifier>(context).getRole(); //returns role string

(user=="Admin")?SomeWidget():Container(),
Run Code Online (Sandbox Code Playgroud)

还有另一种选择,例如:

Visibility (
                  visible: (user=="Admin"),
                  child: SomeWidget()
                ),
Run Code Online (Sandbox Code Playgroud)

这两种方法中哪一种是最好的方法?

dart flutter

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

将 flutter_bloc 与 tabview 一起使用

我有一个标签视图,其中有热门、最近和即将推出的类别。他们在 api 上都有相同的响应。我正在尝试使用 flutter_bloc 从 api 获取数据。之前我使用 rxdart 主题,并为每种类型的数据创建了一个主题。现在使用 flutter bloc 我想实现同样的目标。我想做的是在选项卡之间切换。以前我使用behaviorsubject 将数据保存到下一个事件,但现在我想过渡到块模式。如何使用 flutter_bloc 获得相同类型的结果?或者我需要为每种类型创建块?最后,如何从 api 获取数据,以便在切换选项卡时保持状态?我的 Rxdart 实现:

class DataBloc {
  final DataRepo _repository = DataRepo();
  final BehaviorSubject<Data> _recent = BehaviorSubject<Data>();
  final BehaviorSubject<Data> _popular = BehaviorSubject<Data>();
  final BehaviorSubject<Data> _upcoming = BehaviorSubject<Data>();
  
getData(String type) async {
    
    Data response = await _repository.getData(type);
    if (type == "recent") {
      _recent.sink.add(response);
    } else if (type == "upcoming") {
      _upcoming.sink.add(response);
    } else {
      _popular.sink.add(response);
    }
  }

  dispose() {
    _recent?.close();
    _popular?.close();
    _upcoming?.close();
  }

  BehaviorSubject<Data> get recent …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-bloc

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

Flutter-drawAtlas圆形镂空

我正在尝试实现图像的圆形切口,并且我正在使用drawAtlas。这是到目前为止我的实现:

canvas.drawAtlas(
  image!,
  [
    /* Identity transform */
    RSTransform.fromComponents(
      rotation: 0.0,
      scale: 1,
      anchorX: 0,
      anchorY: 0,
      translateX: 0,
      translateY: 0,
    )
  ],
  [
    Rect.fromCircle(
      center: Offset(size.width / 2, size.height / 2),
      radius: 200,
    ),
  ],
  [],
  null,
  null,
  Paint(),
);
Run Code Online (Sandbox Code Playgroud)

虽然它确实有效,但它绘制了一个矩形图像。我想用一些画出同一图像的圆形切口strokeWidth。使用drawAtlas可以做到这一点吗?

dart flutter flutter-canvas flutter-custompainter

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

Flutter 中 FCM 的自定义通知通道

我正在尝试自定义 flutter 中 firebase_messaging 的通知声音。在前台,我正在实施 flutter_local_notifications 包以在我设置了自定义声音和振动的地方发送通知。但是在后台的情况下,通知由默认通知渠道处理。有什么方法可以创建通知通道或使用我刚刚使用 flutter_local_notifications 包创建的通道?

flutter firebase-cloud-messaging

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

如何在颤动中推动替换删除整个导航堆栈?

我有我的主页,我可以从中转到我的 flutter 应用程序中的个人资料页面。在按下个人资料图标时,我将我的上下文推送到个人资料页面,在那里我有一个更改密码的按钮。当我按下更改密码时,它会打开一个警告对话框,其中包含输入密码的文本字段。我有一个功能注销,它通过清除首选项并将上下文推送到登录屏幕作为替换来注销应用程序。现在我想在更改密码时注销我的应用程序。但它将替换推送到导航堆栈的顶部,返回堆栈内的登录页面。我该如何解决这个问题?

_changePassword() async{
    print(widget.id);
    var data = {
      "newPassword": _passcontroller.text,
      "confirmNewPassword": _confirmpasscontroller.text
    };
    var res = await CallApi().putData(data, 'users/${widget.id}/password/change');
    var response = res.data;
    print(response);
    if (response['success']) {
      showSimpleFlushbar(context, 'Password Changed Successfully.');
      logout(context);
    }
  }
Run Code Online (Sandbox Code Playgroud)

navigation dart flutter

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

将 list&lt;int&gt; 转换为字符串抖动

假设我们有一个整数列表:

List<int> integers=[4, 5];
Run Code Online (Sandbox Code Playgroud)

我想将此列表转换为字符串值,如下所示:

String val="4,5"
Run Code Online (Sandbox Code Playgroud)

我怎样才能在飞镖中做到这一点?

dart flutter

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

Android 资源链接失败 Flutter

我遇到了这个奇怪的问题,我收到了这个错误。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     C:\Users\live\project_backup\build\file_picker\intermediates\library_manifest\debug\AndroidManifest.xml:9:5-15:15: AAPT: error: unexpected element <queries> found in <manifest>.


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这发生在我升级file_picker包之后,即使我再次在 pubspec.yaml …

dart flutter

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