media_picker_widget 0.0.3 copy "media_picker_widget: ^0.0.3" to clipboard
media_picker_widget: ^0.0.3 copied to clipboard

outdated

A widget that picks media files from storage and allows you to place anywhere in the widget tree.

example/lib/main.dart

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

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

class MyApp extends StatelessWidget {
  const MyApp({Key key}): super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Media Picker',
      theme: ThemeData(
        primarySwatch: Colors.green,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key key}) : super(key: key);

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

class _MyHomePageState extends State<MyHomePage> {
  List<Media> mediaList = [];

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Image Picker'),
      ),
      body: previewList(),
      floatingActionButton: FloatingActionButton(
        child: const Icon(Icons.add),
        onPressed: () => openImagePicker(context),
      ),
    );
  }

  Widget previewList(){
    return SizedBox(
      height: 96,
      child: ListView(
        scrollDirection: Axis.horizontal,
        shrinkWrap: true,
        children: List.generate(mediaList.length, (index) => Padding(
          padding: const EdgeInsets.all(8.0),
          child: SizedBox(
            height: 80,
            width: 80,
            child: Image.memory(mediaList[index].thumbnail, fit: BoxFit.cover,),
          ),
        )),
      ),
    );
  }

  void openImagePicker(BuildContext context){
    // openCamera(onCapture: (image){
    //   setState(()=> mediaList = [image]);
    // });
    showModalBottomSheet(context: context, builder: (context){
      return MediaPicker(
        mediaList: mediaList,
        onPick: (selectedList){
          setState(()=> mediaList = selectedList);
          Navigator.pop(context);
        },
        onCancel: ()=> Navigator.pop(context),
        mediaCount: MediaCount.multiple,
        mediaType: MediaType.image,
        decoration: PickerDecoration(
          actionBarPosition: ActionBarPosition.top,
          blurStrength: 2,
          completeText: 'Next',
        ),
      );
    });
  }
}
52
likes
0
pub points
87%
popularity

Publisher

unverified uploader

A widget that picks media files from storage and allows you to place anywhere in the widget tree.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, image_picker, photo_manager, sliding_up_panel

More

Packages that depend on media_picker_widget