【问题标题】:loading spinner with image_picker_web (FLUTTER-WEB)使用 image_picker_web (FLUTTER-WEB) 加载微调器
【发布时间】:2020-10-06 16:36:41
【问题描述】:

如何在 仅在选择图像时触发的 image_picker_web 应用程序中加入加载微调器?

我能做的最好的事情是由“选择图像”按钮触发的微调器,如下所示,但这会在打开目录时显示微调器,即在选择任何内容之前,我需要它在用户选择一张图片并在目录中点击“打开”。

Image pickedImage;
bool isWaiting = false;

  pickImage() async {

setState(() {
  isWaiting = true;
});

Image fromPicker =
    await ImagePickerWeb.getImage(outputType: ImageType.widget);

if (fromPicker != null) {

  setState(() {
    isWaiting = false;
    pickedImage = fromPicker;
  });

}

}

 RaisedButton(
              onPressed: () => pickImage(),
              child: isWaiting
                  ? SizedBox(child: Image.asset('assets/spinner.gif'))
                  : Text('Select Image'),
            ),

(改编自原始示例:https://pub.dev/packages/image_picker_web/example

【问题讨论】:

  • 此代码不起作用?我不明白这个问题。
  • 这是来自 image_picker_web 的原始示例:pub.dev/packages/image_picker_web/example,我只想在图像加载时包含一个加载微调器
  • 好的,知道了。那么您面临什么问题?
  • 我不知道从哪里开始 - 我找不到任何使用加载微调器的示例??
  • 你可以使用CircularProgressIndicator

标签: flutter spinner flutter-web imagepicker


【解决方案1】:
  1. 如果需要,您可以使用默认材质 CircularProgressIndicator()

  2. 如果您希望它带有谷歌颜色口音,更加丰富多彩,您可以使用我的ColoredCircularProgressIndicator() 包。

  3. 如果你想要一个自定义微调器,那么你一定要使用这个很棒的包 - flutter_spinkit

您的实现是正确的,您还可以使用GestureDetectorMaterial 小部件来自定义输入按钮。

编辑 -

如评论中所述,如果您希望在选择图像后启动微调器,您可以使用来自getImage's futurethen() 和一个 void 回调来实现此目的。

Image fromPicker = await ImagePickerWeb.getImage(outputType: ImageType.widget).then(() => /* do something after image is picked (change widget to spinner in setState) */ );

我真的不知道你为什么要在之后而不是之前启动微调器。

另外,image_picker_web 包现已弃用,因此请使用 image_picker 包进行网络检查。

【讨论】:

  • 也许我没有很好地解释我的问题 - 在我的示例中,当按下按钮时我得到一个微调器,但我希望它在按下按钮时什么都不做(除了显示可用的文件)。只有当用户选择图像文件时,我才希望微调器启动
猜你喜欢
  • 2021-06-06
  • 2019-04-27
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
相关资源
最近更新 更多