Flutter loading
如何和原生APP系統自帶的一樣實現一個通用的loading?
有多種實現方式,這裡舉例兩種:
第一:用Overlay
1 Directionality( 2 child: Overlay( 3 initialEntries: [ 4 OverlayEntry( 5 builder: (BuildContext _context) { 6 return 自定義widget; 7 }, 8 ), 9 ], 10 ), 11 textDirection: TextDirection.ltr, 12 );
第二:用Dialog
WillPopScope( onWillPop: () async => _loadingDismissible, child: Center( child: SizedBox( width: 166, height: 166, child: Dialog( backgroundColor: Colors.transparent, insetAnimationDuration: Duration(milliseconds: 100), child: 自定義widget), ), ), );
效果圖:
完整程式碼,jd_loading