提问人:Flutter 提问时间:11/17/2023 最后编辑:Frank van PuffelenFlutter 更新时间:11/20/2023 访问量:59
在颤动中结束通话后显示弹出窗口
Show popup after ending the call in flutter
问:
我需要在结束通话后显示弹出对话框,就像真正的呼叫者一样,将联系电话保存在数据库中,那么在 android 的 flutter 中可以吗?我的代码是 kotlin 语言。因此,如果您有任何解决方案,请告诉我。
我是开发领域的新人,所以如果您有任何建议,请告诉我。
谢谢。
.
答:
0赞
Notepad
11/17/2023
#1
你可以使用 FutureBuilder 或 StreamBuilder 来处理 Flutter 异步编程。
futurebuilder 正在使用单个 api 调用 ex) Restful API 的 POST 的位置。或者他们只有一个响应
Streambuilder 可以同化为一个值,该值可以随时间而变化,但在 Futurebuilder 中的用法相同
FutureBuilder(
future: _future(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasData == false) {
return CircularProgressIndicator();
}
else if (snapshot.hasError) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'Error: ${snapshot.error}',
style: TextStyle(fontSize: 15),
),
);
}
else {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
snapshot.data.toString(),
style: TextStyle(fontSize: 15),
),
);
}
})
0赞
Ashok Kmr
11/20/2023
#2
像这样,
SizedBox(
height: 30,
child: ElevatedButton(
onPressed: () {
_showCallDetail(context);
},
style: ElevatedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(25),
),
padding: const EdgeInsets.all(5),
backgroundColor: Colors.red,
foregroundColor: Colors.cyan,
),
child: const Icon(Icons.call_end, color: Colors.white),
),
),
警报功能
Future<void> _showCallDetail(BuildContext context) async {
return showDialog<void>(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return AlertDialog(
title: const Center(child: Text('Call Ended')),
content: const SingleChildScrollView(
child: ListBody(
children: <Widget>[
Center(child: Text("Call log id : 563834948")),
Center(child: Text('Duration: 32:42 ')),
],
),
),
actions: <Widget>[
TextButton(
child: const Text('close'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
有个包叫,share加试试那个
评论