2、Flutter Widget(IOS Style) - CupertinoActionSheet;
??iOS風格的模式底部Dialog列表。向用戶顯示與當前上下文相關的一組兩個或更多選項的選擇提示;
class CupertinoActionSheetApp extends StatelessWidget{Widget build(BuildContext context) => CupertinoApp(home: _HomePage(),); }class _HomePage extends StatelessWidget{Widget build(BuildContext context) {return Center(child: CupertinoButton(child: Text("show dialog"), onPressed: (){_showDialog(context);}),);}void _showDialog(BuildContext cxt){showCupertinoModalPopup<int>(context: cxt, builder:(cxt){var dialog =CupertinoActionSheet(title: Text("This is Title"),message: Text('Chose a item !'),cancelButton: CupertinoActionSheetAction(onPressed: (){}, child: Text("Cancel")),actions: <Widget>[CupertinoActionSheetAction(onPressed: (){Navigator.pop(cxt,1);}, child: Text('Apple')),CupertinoActionSheetAction(onPressed: (){Navigator.pop(cxt,2);}, child: Text('Windows')),CupertinoActionSheetAction(onPressed: (){Navigator.pop(cxt,3);}, child: Text('Linux')),],);return dialog;});} } 復制代碼如上為顯示列表的部分代碼;
showCupertinoModalPopup 方法
??從屏幕底部向上滑動的模式顯示iOS樣式彈出窗口。
??這樣的彈出窗口是菜單或對話框的替代方案,并阻止用戶與應用程序的其余部分進行交互。
??context參數用于查找彈出窗口的[Navigator]。 它僅在調用方法時使用。 在彈出窗口關閉之前,可以從樹中安全地刪除其相應的窗口小部件。
??builder參數通常構建一個CupertinoActionSheet小部件。
??小部件下方的內容使用ModalBarrier調暗。 由builder構建的小部件不與最初調用showCupertinoModalPopup的位置共享上下文。 用一個 [StatefulBuilder]或小部件需要的自定義[StatefulWidget]動態更新。
??返回一個Future,它解析為彈出窗口關閉時傳遞給[Navigator.pop]的值。
CupertinoActionSheet
創建iOS樣式的列表。其構造函數如下
const CupertinoActionSheet({Key key,this.title,this.message,this.actions,this.messageScrollController,this.actionScrollController,this.cancelButton,}) 復制代碼??其中的actions為CupertinoActionSheetAction的Widget數組,而cancelButton也一般為CupertinoActionSheetAction。
??actionScrollController為滾動控制器,可用于控制操作表中actions的滾動。
CupertinoActionSheetAction
通常用于CupertinoActionSheet的按鈕。主要包含一個child widget和一個點擊回掉;
const CupertinoActionSheetAction({@required this.onPressed,this.isDefaultAction = false,this.isDestructiveAction = false,@required this.child,}) 復制代碼isDefaultAction此操作是否是操作表中的默認選項,默認按鈕具有粗體文本。
isDestructiveAction此操作是否可能更改或刪除數據。要被刪除按鈕有紅色文字。
總結
以上是生活随笔為你收集整理的2、Flutter Widget(IOS Style) - CupertinoActionSheet;的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac 下 通过 brew 安装 Mar
- 下一篇: python垃圾回收机制(GC)相关问题