是否可以在所有頁面頂部的應用程式的整個生命周期中顯示浮動按鈕?我知道Scaffold我可以擁有它,但它僅適用于該頁面,一旦我在導航器堆疊上推送新頁面,我就會丟失它。
uj5u.com熱心網友回復:
是的,OverlayEntry是為此目的而制造的。
例如:
ElevatedButton(
child: Text("Overlay Test"),
onPressed: () {
final entry = OverlayEntry(
builder: (context) => Container(
color: Colors.blue,
),
);
Overlay.of(context)?.insert(entry);
},
)
如果您想稍后洗掉它,您可以保存entry變數,然后entry.remove()在需要時呼叫。
uj5u.com熱心網友回復:
一種選擇是使用 的builder來MaterialApp創建一個Stack頂部有您的 Button 的:
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Test',
home: TestPage(),
initialRoute: "/test",
builder: (context, child) {
return Scaffold(
body: Stack(
children: [
child!,
Positioned(
left: 0,
bottom: 0,
child: **your button here**,
),
],
),
);
},
routes: routes(context),
);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/421800.html
標籤:
