gpt4 book ai didi

android - Flutter - 收到通知时更改应用栏图标

转载 作者:IT王子 更新时间:2023-10-29 06:35:58 27 4
gpt4 key购买 nike

我正在使用 FirebaseMessaging 在我的应用程序上推送通知。

所以我可以用这段代码处理这些通知:

firebaseMessaging.configure(
onLaunch: (Map<String, dynamic> msg) {
print("onLaunch called");
}, onResume: (Map<String, dynamic> msg) {
print("onResume called");
}, onMessage: (Map<String, dynamic> msg) {
print("onMessage called : " + msg.toString());
});

当我收到通知时,我想在我的应用栏中的图标上显示这个小“1”

icon

我的问题是:我不知道如何为所有页面在我的应用栏上动态更改我的铃铛图标(而且我无法在我的应用栏中调用 setState)

最佳答案

我认为解决您的问题非常简单,您只需要使用一个有状态类和一个自定义图标,如下所示:

Widget myAppBarIcon(){
return Container(
width: 30,
height: 30,
child: Stack(
children: [
Icon(
Icons.notifications,
color: Colors.black,
size: 30,
),
Container(
width: 30,
height: 30,
alignment: Alignment.topRight,
margin: EdgeInsets.only(top: 5),
child: Container(
width: 15,
height: 15,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Color(0xffc32c37),
border: Border.all(color: Colors.white, width: 1)),
child: Padding(
padding: const EdgeInsets.all(0.0),
child: Center(
child: Text(
_counter.toString(),
style: TextStyle(fontSize: 10),
),
),
),
),
),
],
),
);
}

以后您可以将此图标包含在您的应用程序栏中(引导或操作)。正如您所看到的,Text 值随任何触摸而变化,我在开始一个新的 Flutter 项目时用作示例代码的基础,它包含一个方法来计算您触摸 float 按钮并更改状态的次数:

void _incrementCounter() {
setState(() {
_counter++;
});
}

希望对你有帮助

this is my example

关于android - Flutter - 收到通知时更改应用栏图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55730390/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com