こんにちは!
本記事では、右の動画のように、シェアボタンを押すことでSNSなどにシェアする機能を呼び出す手順を説明します。
シェアする機能に必要なパッケージはShareというパッケージです。
目次
パッケージをインストール
ターミナルで、flutter pub add share
→flutter pub get
を打ってください。パッケージのインストールがよく分からない方は以下の記事をご覧ください。
実装方法
テキストのみをシェアする場合
下記のように、Share.share
を使用します。
return Scaffold(
appBar: AppBar(
title: Text("test"),
actions: [
icon: Icon(Icons.share),
onPressed: (){
Share.share('シェアしたい文');
},
],
),
);
スクリーンショットをシェアしたいとき
スクリーンショットをシェアしたいときは、少し複雑になります。追加で以下の三つのパッケージが必要になります。
share_plus, screenshot, path_provider
下記をインポートします。
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:path_provider/path_provider.dart';
import 'package:screenshot/screenshot.dart';
import 'package:share_plus/share_plus.dart';
以下のコードでは、スクリーンショットを保存して、保存した画像を指定してシェアしています。
final _screenShotController = ScreenshotController();
...
return Scaffold(
appBar: AppBar(
title: Text("test"),
actions: [TextButton(
onPressed: () async {
const _shareText = 'シェアしたい文章...';
final _screenshot = await _screenShotController.capture(delay: const Duration(milliseconds: 10));
if (_screenshot != null) {
final _documentDirectoryPath = await getApplicationDocumentsDirectory();
final imagePath = await File('${_documentDirectoryPath.path}/screenshot.png').create();
await imagePath.writeAsBytes(_screenshot);
await Share.shareFiles([imagePath.path], text: _shareText);
}
},
)],
),
);
参考記事
【Flutter】スクリーンショットをSNSにシェアする - Qiita
概要Flutterで作成したアプリにシェア機能を実装した際の備忘録です。3つのパッケージを利用することで、簡単に任意のWidgetのスクリーンショットを添付してSNSなどへシェ...
Flutterでシェア機能を持ったアプリを作成する - Qiita
こんな感じのテキストをシェアするアプリを作ります(これはアプリと言っていいのか...?w)シェアする機能を使うために、share というライブラリを使います。pubspec.yaml...
コメント