flutter_share_content 0.1.0 copy "flutter_share_content: ^0.1.0" to clipboard
flutter_share_content: ^0.1.0 copied to clipboard

outdated

Flutter plugin to share content to a generic app Picture, message and title are allowed Android supported iOS not supported

example/lib/main.dart

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

import 'package:image_picker/image_picker.dart';
import 'package:flutter_share_content/flutter_share_content.dart';

void main() => runApp(MyApp());


class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: "Share Content example app",
      debugShowCheckedModeBanner: false,
      home: ShareContent(),
    );
  }
}

class ShareContent extends StatefulWidget {
  @override
  _ShareContentState createState() => _ShareContentState();
}

class _ShareContentState extends State<ShareContent> {
  File _image;
  TextEditingController _title = new TextEditingController();
  TextEditingController _msg =  new TextEditingController();
  TextEditingController _subject = new TextEditingController();
  BuildContext _context;

  Future getImage() async {
    File image = await ImagePicker.pickImage(source: ImageSource.gallery);

    setState(() {
      _image = image;
    });
  }

  void getText(){
    showModalBottomSheet(context: _context,
        builder:(BuildContext context) {
          return new Container(
            child: new Column(
              children: <Widget>[
                new TextField(
                  decoration: InputDecoration(
                    border: OutlineInputBorder(),
                    hintText: "Title",
                    contentPadding: EdgeInsets.only(bottom: 50.0, top: 10.0, left: 12.0),
                  ),

                  controller: _title,
                ),
                new TextField(
                  decoration: InputDecoration(
                      border: OutlineInputBorder(),
                      hintText: "Message",
                    contentPadding: EdgeInsets.only(bottom: 150.0, top: 10.0, left: 12.0),
                  ),
                  maxLines: null,
                  keyboardType: TextInputType.multiline,

                  controller: _msg,
                )
              ],
            ),
          );
        }
    );
  }

  void share(){
    FlutterShareContent.shareContent(imageUrl: _image == null? null: _image.path,
        msg: _msg.text, title: _title.text);
  }

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

  @override
  Widget build(BuildContext context) {
    _context = context;
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Share Content example app'),
        ),
        body: new Center(
          child: _image == null
              ? new Text('No image selected.')
              : new Image.file(_image),
        ),
        floatingActionButton:
        FloatingActionButton(onPressed: share, child: Icon(Icons.share),),

        bottomNavigationBar:
        BottomAppBar(
          child:
          Row(
            children: <Widget>[
              new FloatingActionButton(
                onPressed: getImage,
                tooltip: 'Pick Image',
                child: new Icon(Icons.camera_alt),
              ),
              new FloatingActionButton(
                onPressed: getText,
                tooltip: 'Show text',
                child: new Icon(Icons.text_fields),
              ),
            ],
          )

        ),

      ),
    );
  }
}
4
likes
0
points
27
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin to share content to a generic app Picture, message and title are allowed Android supported iOS not supported

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on flutter_share_content

Packages that implement flutter_share_content