搜索插件、代码仓与 APP 分类

easy_folder_picker 封面
插件详情v1.3.4

easy_folder_picker

适用于 Flutter 的简单目录选择器,您可以选择目录或创建目录以进行后续操作

AndroidiOSWindows
近 30 天下载
359
喜欢数
34
Pub 分数
140

安装插件

flutter pub add easy_folder_picker

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Easy Folder Picker 是一个 Flutter 包,可简化移动和桌面应用程序中的目录选择与创建。它使用户能够浏览并选择现有目录或创建新目录,非常适合文件管理工作流程。该包支持 Android、iOS 和 Windows 平台,在各种设备上提供一致的界面。通过 `flutter pub add easy_folder_picker` 进行最少设置,开发者可以快速将文件夹选择功能集成到应用中。对于需要用户控制文件存储或组织的应用程序尤其有用。

适合场景

  • 文件管理应用
  • 文档存储工具
  • 备份和导出功能
  • 用户定义的项目文件夹
  • 数据导入/导出工作流

主要特点

  • 简单目录选择
  • 创建新目录
  • 跨平台支持(Android、iOS、Windows)
  • 最小配置
  • 原生般的用户界面体验

适合对象

  • 开发面向文件的应用程序的开发者
  • 需要用户控制文件夹路径的应用程序
  • 跨平台文件选择器集成
  • 快速文件导航原型设计
  • 教育或生产力软件

使用建议

  • 需要 Android/iOS 的平台特定权限
  • 选择器 UI 的自定义有限
  • 无内置文件预览功能
  • 依赖原生操作系统文件系统访问
  • 可能需要手动处理权限请求

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Easy Folder Picker

Easy directory picker for Flutter

pub

A flutter package to pick directories and handles requesting required permissions as well. This package only supports ANDROID.

Picker Screenshot1 Picker Screenshot2

Installation

Add below line to your pubspec.yaml and run flutter packages get

  easy_folder_picker: ^latest version

Permissions

Add below line to your android/app/src/main/AndroidManifest.xml

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

If you want to allow creating new folders directly from picker then add the below permission also

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Android 10 (Q)

In Android 10, you need to add the Following Lines in AndroidManifest file:

<application
      android:requestLegacyExternalStorage="true"
Android 11

From Android 11, you need to manage permission within your app, if you want to write in different folders of external storage.

Steps
  1. Add the following Lines in AndroidManifest file
  <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
  1. Add device_info package to check android version
  2. Check permission if app can manage external storage if its android 11 or greater Note: This is a runtime permission (might not show it in app info's permission section )
  var status = await Permission.manageExternalStorage.status;
      if (status!.isRestricted) {
        status = await Permission.manageExternalStorage.request();
      }

      if (status!.isDenied) {
        status = await Permission.manageExternalStorage.request();
      }
      if (status!.isPermanentlyDenied) {
        ScaffoldMessenger.of(context).showSnackBar(SnackBar(
          backgroundColor: Colors.green,
          content: Text('Please add permission for app to manage external storage'),
        ));
      }

Flutter Usage

import 'package:easy_folder_picker/FolderPicker.dart';

// In any callback call the below method
  Future<void> _pickDirectory(BuildContext context) async {
    Directory directory = selectedDirectory;
    if (directory == null) {
      directory = Directory(FolderPicker.ROOTPATH);
    }

    Directory newDirectory = await FolderPicker.pick(
        allowFolderCreation: true,
        context: context,
        rootDirectory: directory,
        shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.all(Radius.circular(10))));
    setState(() {
      selectedDirectory = newDirectory;
      print(selectedDirectory);
    });
  }

所属分类

依赖

依赖清单 2 项

源码仓库

使用此插件的项目

暂无相关数据。