https://medium.com/flutterdev...
在 flutter 中,咱们显示任何进度指示器,由于咱们的应用程序是繁忙的或在搁置,为此,咱们显示一个循环的进度指示器。覆盖加载屏幕显示一个进度指示器,也称为模态进度 HUD 或平视显示,这一般意味着应用程序正在加载或执行一些工做。android
在本文中,咱们将利用 HUD 进程程序包来探讨平视显示器在 flutter 方面的进展。有了这个软件包,咱们能够很容易地实现平视显示的颤振进度。那么让咱们开始吧。git
https://pub.dev/packages/flut...github
https://pub.dev/packages/flut...编程
Flutter HUD Progress 是一种进度指示器库,就像一个循环的进度指示器。在这里,HUD 意味着一个抬头显示器/进度弹出对话框将打开以上的屏幕,将有一个循环的进度指示器。使用这个库,咱们能够使用咱们的 flutter 。应用程序能够显示循环进度指示器。api
将依赖项添加到 pubspec ー yaml 文件。微信
dependencies: flutter_progress_hud: ^2.0.0
import 'package:flutter_progress_hud/flutter_progress_hud.dart';
org.gradle.jvmargs=-Xmx1536M android.enableR8=true android.useAndroidX=true android.enableJetifier=true
在 lib
目录中建立一个名为 progress_hud_demo.dart
的新 dart 文件。app
在建立 Flutter HUD Progress 以前,咱们包装了一个进度遮光罩的容器,其次是建设者类。在内部,咱们使用了咱们的小部件,并定义了进度指示器的边框颜色和背景颜色。让咱们详细地了解一下这一点。jvm
ProgressHUD( borderColor:Colors.orange, backgroundColor:Colors.blue.shade300, child:Builder( builder:(context)=>Container( height:DeviceSize.height(context), width:DeviceSize.width(context), padding:EdgeInsets.only(left:20,right:20,top:20), ), ), ),
如今咱们已经采起了一个按钮,在其中指示器设置持续时间 5 秒的指示器时间将来。delayed()
并显示进度的文本。编程语言
Container( margin: EdgeInsets.only( left:20.0, right:20.0, top:55.0), child: CustomButton( mainButtonText:'Submit', callbackTertiary:(){ final progress = ProgressHUD.of(context); progress.showWithText('Loading...'); Future.delayed(Duration(seconds:5), () { progress.dismiss(); }); }, color:Colors.blue, ), ),
当咱们运行应用程序时,咱们应该获得屏幕的输出,就像下面的屏幕截图同样。ide
import 'package:flutter/material.dart'; import 'package:progress_hud_demo/shared/custom_button.dart'; import 'package:progress_hud_demo/shared/custom_text_field.dart'; import 'package:progress_hud_demo/themes/device_size.dart'; import 'package:flutter_progress_hud/flutter_progress_hud.dart'; class ProgressHudDemo extends StatefulWidget { @override _ProgressHudDemoState createState() => _ProgressHudDemoState(); } class _ProgressHudDemoState extends State<ProgressHudDemo> { bool _isInAsyncCall = false; @override Widget build(BuildContext context) { return Scaffold( backgroundColor:Colors.white, appBar:AppBar( backgroundColor:Colors.blue, title:Text('Flutter HUD Progress Demo'), elevation:0.0, ), body:ProgressHUD( borderColor:Colors.orange, backgroundColor:Colors.blue.shade300, child:Builder( builder:(context)=>Container( height:DeviceSize.height(context), width:DeviceSize.width(context), padding:EdgeInsets.only(left:20,right:20,top:20), child:Column( crossAxisAlignment:CrossAxisAlignment.start, children: [ Column( crossAxisAlignment:CrossAxisAlignment.start, children: [ Text('Sign In',style:TextStyle(fontFamily:'Roboto Bold',fontSize:27,fontWeight:FontWeight.bold),), ], ), SizedBox(height:50,), Column( children: [ CustomTextField(hintText: 'Email', type:TextInputType.text, obscureText: false), SizedBox(height:35,), CustomTextField(hintText: 'Password', type:TextInputType.text, obscureText: true), ], ), Container( margin: EdgeInsets.only( left:20.0, right:20.0, top:55.0), child: CustomButton( mainButtonText:'Submit', callbackTertiary:(){ final progress = ProgressHUD.of(context); progress.showWithText('Loading...'); Future.delayed(Duration(seconds:5), () { progress.dismiss(); }); }, color:Colors.blue, ), ), ], ), ), ), ), ); } }
© 猫哥
https://github.com/ducafecat/...
https://github.com/ducafecat/...
https://ducafecat.tech/catego...
https://space.bilibili.com/40...
https://space.bilibili.com/40...
https://space.bilibili.com/40...
https://space.bilibili.com/40...
https://space.bilibili.com/40...
https://space.bilibili.com/40...