以下是我的homepage.dart的一部分,该文件运行良好,但是单击IconButton时没有任何反应。
...
return Scaffold(
appBar: AppBar(
title: Text('Lorem Ipsum'),
leading: IconButton(
icon: Icon(Icons.info),
onPressed: () => AboutWidget(),
),
),
body: ...
这是我的AboutWidget所在的about_widget.dart文件。 我在做什么错了?
import 'package:flutter/material.dart';
class AboutWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text('data'),
);
}
}
答案 0 :(得分:2)
您必须调用showDialog
函数
AppBar(
title: Text('Lorem Ipsum'),
leading: IconButton(
icon: Icon(Icons.info),
onPressed: () => showDialog(
context: context,
builder: (context) => AboutWidget(),
),
),
)
答案 1 :(得分:2)
使用Flutter原生的 showDialog 功能显示对话框。
对于您的代码,您可以尝试以下方法:
return Scaffold(
appBar: AppBar(
title: Text('Lorem Ipsum'),
leading: IconButton(
icon: Icon(Icons.info),
onPressed: () => showDialog(
context: context,
builder: (context){
return AboutWidget();
}
),
),
),
);
因此,当按下按钮时,您应该调用 showDialog 方法
有关 showDialog 的更多信息,请访问https://api.flutter.dev/flutter/material/showDialog.html
希望我的回答有帮助!
答案 2 :(得分:0)