Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.2.1

photo_gallery

Ein Flutter-Plugin, das Bilder und Videos aus der mobilen Native-Galerie abruft.

AndroidiOS
30-Tage-Downloads
2250
Likes
162
Pub-Punkte
150

Paket installieren

flutter pub add photo_gallery

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das photo_gallery-Paket ist ein Flutter-Plugin, das entwickelt wurde, um Bilder und Videos aus der nativen Galerie auf Android- und iOS-Geräten zu erfassen. Es bietet eine einfache Schnittstelle zum Abrufen von Mediendateien und ermöglicht Entwicklern die Integration von Galerie-Browsing und -Auswahl in ihre Apps. Das Plugin nutzt plattformspezifische APIs, um Kompatibilität und Leistungsfähigkeit auf beiden Betriebssystemen sicherzustellen. Es ist ideal für Anwendungen, die Media-Sammlungsfunktionen erfordern, wie beispielsweise Foto-Sharing, Profilbild-Uploads oder Content-Erstellungswerkzeuge. Mit minimalem Setup über pub add bietet es nahtlose Integration in bestehende Flutter-Projekte.

Anwendungsfälle

  • Bild- und Videoauswahl aus der Gerätegalerie
  • Workflows zum Hochladen von Profilbildern
  • Medienreiche App-Inhalts-Erstellung
  • Entwicklung einer Foto-Sharing-Anwendung
  • Sammlung benutzergenerierter Inhalte

Hauptmerkmale

  • Cross-Platform-Unterstützung für Android und iOS
  • Einfache API zum Zugriff auf native Galerie-Medien
  • Unterstützt Bilder und Videos
  • Einfache Integration mit flutter pub add
  • Verlässt sich auf native Plattform-APIs für Zuverlässigkeit

Geeignet für

  • Entwickler, die mediaintensive Flutter-Apps erstellen
  • Apps, die für Benutzeruploads Zugriff auf die Galerie benötigen
  • Soziale Medien oder Content-Erstellungsplattformen
  • Mobile Apps, die Bild-/Videowahl-Funktionalität erfordern
  • Projekte, die die native Galerie-Integration priorisieren

Hinweise

  • Auf Android und iOS sind entsprechende Berechtigungen erforderlich
  • Beschränkt auf die Abrufung von Medien; keine Bearbeitung oder Zuschnitte
  • Abhängig von der Verfügbarkeit der nativen Galerie und Systemberechtigungen
  • Kann zusätzliche Behandlung für große Mediendateien erfordern
  • Nicht geeignet für anspruchsvolle Medienverarbeitungsaufgaben

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Photo Gallery

pub package

A Flutter plugin that retrieves images and videos from mobile native gallery.

Installation

First, add photo_gallery as a dependency in your pubspec.yaml file.

iOS

Add the following keys to your Info.plist file, located in <project root>/ios/Runner/Info.plist:

NSPhotoLibraryUsageDescription - describe why your app needs permission for the photo library. This is called Privacy - Photo Library Usage Description in the visual editor.

<key>NSPhotoLibraryUsageDescription</key>
<string>Example usage description</string>
Android

Add the following permissions to your AndroidManifest.xml, located in <project root>/android/app/src/main/AndroidManifest.xml:

<manifest ...>
    <uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE"
        android:maxSdkVersion="32" />
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<manifest/>

Usage

  • Listing albums in the gallery
final List<Album> imageAlbums = await PhotoGallery.listAlbums();
final List<Album> videoAlbums = await PhotoGallery.listAlbums(
    mediumType: MediumType.video,
    newest: false,
    hideIfEmpty: false,
);
  • Listing media in an album
final MediaPage imagePage = await imageAlbum.listMedia();
final MediaPage videoPage = await imageAlbum.listMedia(
    skip: 5,
    take: 10,
);
final List<Medium> allMedia = [
    ...imagePage.items,
    ...videoPage.items,
];
  • Loading more media in a album
if (!imagePage.isLast) {
    final nextImagePage = await imagePage.nextPage();
    // ...
}
  • Getting a Medium
final Medium medium = await PhotoGallery.getMedium(
  mediumId: "10",
  mediumType: MediumType.image
);
  • Getting a file
final File file = await medium.getFile();
final File file = await PhotoGallery.getFile(mediumId: mediumId);
  • Getting thumbnail data
final List<int> data = await medium.getThumbnail();
final List<int> data = await PhotoGallery.getThumbnail(mediumId: mediumId);

You can also specify thumbnail width and height on Android API 29 or higher; You can also specify thumbnail width, height and whether provider high quality or not on iOS:

final List<int> data = await medium.getThumbnail(
    width: 128,
    height: 128,
    highQuality: true,
);
final List<int> data = await PhotoGallery.getThumbnail(
    mediumId: mediumId,
    mediumType: MediumType.image,
    width: 128,
    height: 128,
    highQuality: true,
);
  • Getting album thumbnail data
final List<int> data = await album.getThumbnail();
final List<int> data = await PhotoGallery.getAlbumThumbnail(albumId: albumId);

You can also specify thumbnail width and height on Android API 29 or higher; You can also specify thumbnail width, height and whether provider high quality or not on iOS:

final List<int> data = await album.getThumbnail(
    width: 128,
    height: 128,
    highQuality: true,
);
final List<int> data = await PhotoGallery.getAlbumThumbnail(
    albumId: albumId,
    mediumType: MediumType.image,
    newest: false,
    width: 128,
    height: 128,
    highQuality: true,
);
  • Displaying medium thumbnail

ThumbnailProvider are available to display thumbnail images (here with the help of dependency transparent_image):

FadeInImage(
    fit: BoxFit.cover,
    placeholder: MemoryImage(kTransparentImage),
    image: ThumbnailProvider(
        mediumId: mediumId,
        mediumType: MediumType.image,
        width: 128,
        height: 128,
        hightQuality: true,
    ),
)

Width and height is only available on Android API 29+ or iOS platform

  • Displaying album thumbnail

AlbumThumbnailProvider are available to display album thumbnail images (here with the help of dependency transparent_image):

FadeInImage(
    fit: BoxFit.cover,
    placeholder: MemoryImage(kTransparentImage),
    image: AlbumThumbnailProvider(
        album: album,
        width: 128,
        height: 128,
        hightQuality: true,
    ),
)

Width and height is only available on Android API 29+ or iOS platform. High quality is only available on iOS platform.

  • Displaying a full size image

You can use PhotoProvider to display the full size image (here with the help of dependency transparent_image):

FadeInImage(
    fit: BoxFit.cover,
    placeholder: MemoryImage(kTransparentImage),
    image: PhotoProvider(
        mediumId: mediumId,
    ),
)

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden