media_gal 0.0.4 copy "media_gal: ^0.0.4" to clipboard
media_gal: ^0.0.4 copied to clipboard

Fetch Image Media from Mobile App Gallery Android/IOS, comprises of png, jpg. This plugin is created to easily fetch the media images from mobile Devices. Over the top we can show basic toast on been [...]

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:media_gal/media_gal.dart';
import 'package:flutter/material.dart';
import 'package:media_gal/media_gal.dart';
import 'package:media_gal/media_model';  // Replace with actual import

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Media Gallery Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MediaGalScreen(),
    );
  }
}

class MediaGalScreen extends StatefulWidget {
  @override
  State<MediaGalScreen> createState() => _MediaGalScreenState();
}

class _MediaGalScreenState extends State<MediaGalScreen> {
  List<MediaModel> _mediaFiles = List.empty(growable: true);

  @override
  void initState() {
    super.initState();
    _loadImages();
  }

  Future<void> _loadImages() async {
    try {
      // Assuming getImagesFromGallery is a method in the package
      List<Object?>? images = await MediaGal.loadMediaList();
      for (var mediaPathNam in images??[]) {
        if (mediaPathNam is String?) {
          if (mediaPathNam != null && mediaPathNam.isNotEmpty) {
            this._mediaFiles.add(MediaModel.filePath(mediaPathNam));
          }
        }
      }
      setState(() {

      });
    } catch (e) {
      print("Error fetching images: $e");
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Media Gallery")),
      body: _mediaFiles.isEmpty
          ? Center(child: CircularProgressIndicator())
          : Expanded(
        child: _mediaList(_mediaFiles),
      ),
    );
  }

  Widget _mediaList(List<MediaModel> mediaList) {
    return ListView.builder(
      scrollDirection: Axis.horizontal,
      itemCount: mediaList.length, // Number of items in the list
      itemBuilder: (context, index) {
        return _mediaViewCard(mediaList[index]);
      },
    );
  }



  Widget _mediaViewCard(MediaModel media) {
    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 2.0, vertical: 2),
      child: ConstrainedBox(constraints: BoxConstraints(
        maxWidth: MediaQuery.of(context).size.width,),
        child: Container(
          child: Card(
            elevation: 4.0,
            child: media.image(),
          ),
        ),
      ),
    );
  }
}
0
likes
0
points
25
downloads

Publisher

unverified uploader

Weekly Downloads

Fetch Image Media from Mobile App Gallery Android/IOS, comprises of png, jpg. This plugin is created to easily fetch the media images from mobile Devices. Over the top we can show basic toast on been able to fetch the images from the Mobile Device

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_web_plugins, permission_handler, plugin_platform_interface, web

More

Packages that depend on media_gal

Packages that implement media_gal