flutter loading


在發起請求時 需要有loading頁面這樣可以讓用戶知道當前正在操作,又可以防止多次點擊等誤操作,所以這里就自定義了一個loading頁面 菊花使用flutter_spinkit里面的菊花來代替
在需要顯示loding的地方通過showDialog的彈窗的方式來顯示菊花,在需要關閉的時候讓dialog關閉
這里使用了flutter_spinkit

flutter_spinkit: ^4.0.0

具體代碼
loading.dart

import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';

class Loading extends StatelessWidget {


  static void show(BuildContext context) {

    showDialog(
      barrierDismissible: true,
      context: context,
      builder: (ctx) => Theme(
        data: Theme.of(ctx).copyWith(dialogBackgroundColor: Colors.transparent),
        child: Loading(),
      ),
    );
  }

  static void dismiss(context) {
    Navigator.pop(context);
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.transparent,
      child: Center(
        child: Container(
          decoration: BoxDecoration(
            color: Colors.white,
            borderRadius: BorderRadius.circular(5),
          ),
          width: 60,
          height: 60,
          alignment: Alignment.center,
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              SpinKitFadingCircle(
                color: Colors.black,
                size: 46.0,
              )
            ],
          ),
        ),
      ),
    );
  }
}


關於使用

Loading.show(context);

Loading.dismiss(context);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM