android - 从 url 打开 pdf 文件时在 flutter 中添加进度条

标签 android ios flutter pdf dart

我遇到问题,无法解决,并且在 Google 上找不到解决该问题的来源,我有一个页面,可以通过链接查看 PDF 文件,并且我有一个 CircularProgressIndicator,我想替换它进度条显示下载文件的百分比,我可以这样做吗? 我已附上我的代码

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

class ReadPdf extends StatefulWidget {

  final String value;
  ReadPdf({Key key, this.value}) : super(key: key);

  @override
  _ReadPdfState createState() => _ReadPdfState();
}

class _ReadPdfState extends  State<ReadPdf>{
  bool _isloading = false, _isInit = true;
  PDFDocument document;

  @override
  void initState() {

    super.initState();

  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Color.fromRGBO(58, 66, 86, 1.0),
        body: Container(
          child: Column(
            children: <Widget>[
              Expanded(child:Center(
                child: _isInit?  MaterialButton(child: Text('Go'), onPressed: () {_loadFromURL(widget.value);},
                color: Color.fromRGBO(64, 75, 96, .9),
                textColor: Colors.white,
                ) : _isloading? Center(child: CircularProgressIndicator(),) : PDFViewer(document: document,indicatorBackground: Colors.deepPurple,),
              ),),
              Row(
                mainAxisSize: MainAxisSize.max,
                children: <Widget>[

                ],
              ),
            ],
          ),
        ),
      ),
    );
  }


  _loadFromURL(String url) async{
    setState(() {
      _isInit = false;
      _isloading = true;
    });
    document = await PDFDocument.fromURL('${url}');    setState(() {
      _isloading = false;
    });

  }


}

最佳答案

我有一个具有相同功能的应用程序,我使用 Dio该软件包支持将文件下载到您的手机。

您需要做的就是

Dio dio = Dio();
  dio.download("*YOUR URL WHERE YOU WANT TO DOWNLOAD A FILE*",
      "*YOUR DESTINATION PATH*", onReceiveProgress: (rec, total) {
          print("Downloading " + ((rec / total) * 100).toStringAsFixed(0) + "%");
      });

关于android - 从 url 打开 pdf 文件时在 flutter 中添加进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60306289/

相关文章:

android - 以编程方式在 TableLayout 中添加行的问题

ios - 检查是否启用了预测文本

flutter - 在 Flutter 中创建自定义小部件

flutter - FormKey 在空值上使用 Null 检查运算符时出错

java - 在java中将函数作为参数传递

android - Android 设备的唯一且不可修改的设备 ID(包括没有谷歌的设备)

ios - Safari View Controller 使用了错误的状态栏颜色

ios - Xcode iOS bundle 包含不允许的文件 'Frameworks'

flutter - 位置小部件全宽

android - 动态自动完成 TextView 建议消失