我想创建一个功能,显示一个快速,信息弹出,将自行消失.这部分我可以做.
问题是:我希望有经验的用户,谁了解应用程序,不需要弹出,能够继续点击屏幕,并通过应用程序移动,好像弹出不存在.
下面是我代码的简化版本:
import 'package:flutter/material.dart';
class DashboardScreen extends StatelessWidget {
const DashboardScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
// BUTTON 1
ElevatedButton(
onPressed: () {
// Show popup
Navigator.of(context).push(
PageRouteBuilder(
opaque: false,
pageBuilder: (context, animation, secondaryAnimation) {
return IgnorePointer(
child: Scaffold(
backgroundColor: Colors.transparent,
body: Container(
color: Colors.red,
height: 50,
width: 50,
),
),
);
},
),
);
},
child: const Text('Show Popup'),
),
const SizedBox(height: 20),
// BUTTON 2
ElevatedButton(
onPressed: () {
print('Button 2 pressed!');
},
child: const Text('Print to Console'),
),
],
),
),
);
}
}
在本例中,左上角的一个红色小方框表示弹出窗口.我希望当屏幕上出现红色框时,用户可以继续使用Button 2
打印到控制台.按照原样,当红色框可见时,该按钮不可点击.
Flutter有没有方法将点击通过一个页面传递到它后面的页面?我认为这可以通过IgnorePointer
小部件实现;然而,情况似乎并非如此.