我是集团模式和流媒体方面的新手。我想在按下按钮时显示一个警报对话框,但找不到解决方法。实际上我的代码是:
Widget button() {
return RaisedButton(
child: Text('Show alert'),
color: Colors.blue[700],
textColor: Colors.white,
onPressed: () {
bloc.submit();
});
}
return Scaffold(
appBar: AppBar(
title: Text("Title"),
),
body: StreamBuilder(
stream: bloc.getAlert,
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text("I have Dataaaaaa ${snapshot.data}");
} else
return ListView(
children: <Widget>[
Container(
button()
)
...
Run Code Online (Sandbox Code Playgroud)
而BLoC:
final _submissionController = StreamController();
Stream get submissionStream=> _submissionController.stream;
Sink get submissionSink=> _submissionController.sink;
Run Code Online (Sandbox Code Playgroud)
我试图做类似的事情:
Widget button() {
return StreamBuilder(
stream: submissionStream
builder: (context, snapshot){
if (snapshot.hasData){
return showDialog(...) …Run Code Online (Sandbox Code Playgroud) 我正在学习在Flutter中构建应用程序。现在我来警报对话框。我之前在Android和iOS中完成过这些操作,但是如何在Flutter中发出警报?
以下是一些相关的SO问题:
我想进行更一般的规范问答,所以我的答案如下。
在颤动中,我们要在小部件上方覆盖一个对话框。
按下按钮后,我们可以显示对话框。
但是,我们希望在显示喜欢加载对话框的小部件时显示该对话框。
我们实现了如下。
import 'package:flutter/material.dart';
class XxxxxWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
// [NG]We want to show dialog on Container widget.
// showMyDialog(context);
return Container(
child: FlatButton(
child: Text('Show'),
onPressed: () {
// [OK]We can show dialog.
showMyDialog(context);
},
),
);
}
void showMyDialog(BuildContext context) {
showDialog<bool>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: const Text(
'Message',
),
actions: <Widget>[
FlatButton(
child: const Text('OK'),
onPressed: () {
Navigator.of(context).pop(true);
},
),
],
);
},
); …Run Code Online (Sandbox Code Playgroud) 我目前正在编写一个应用,用户需要知道其手机/平板电脑的IP地址。我在哪里可以找到此信息?
我只想知道本地IP地址是什么,例如192.168.x.xxx,而不是路由器的公共IP地址。
到目前为止,我似乎只能找到InternetAddress.anyIPv4和InternetAddress.loopbackIPv4。回送地址不是我想要的,因为它是127.0.0.1。