以下是我的主页.dart运行良好的部分,但单击IconButton没有任何反应。
...
return Scaffold(
appBar: AppBar(
title: Text('Lorem Ipsum'),
leading: IconButton(
icon: Icon(Icons.info),
onPressed: () => AboutWidget(),
),
),
body: ...
这是我的about_widget.dart文件,其中定义了我的AboutWidget。 我做错了什么?
import 'package:flutter/material.dart';
class AboutWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text('data'),
);
}
}
你必须调用showDialog
函数
AppBar(
title: Text('Lorem Ipsum'),
leading: IconButton(
icon: Icon(Icons.info),
onPressed: () => showDialog(
context: context,
builder: (context) => AboutWidget(),
),
),
)
使用 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
方法。
按下按钮时,您正在呼叫AboutWidget()
。它是一个无状态的小部件。因此,它需要在应用的构建方法中构建。 在按钮上单击此按钮不会显示对话框。请改用showDialog
方法,并在其中使用警报对话框在屏幕上显示对话框。