1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FlutterAdvent Calendar 2024

Day 1

【Flutter】投稿したものテキストだけでなく画像もシェアできるようにする

Last updated at Posted at 2024-11-30

スクリーンショット 2024-11-29 22.13.23.png

初めに

個人開発でぼちぼちと進めていく中でいくつかの実装の一つをご紹介します。

やりたいこと

  • 投稿したものテキストだけでなく画像もシェアできるようにする
共有前 Twitter(Xへの共有) 共有後
IMG_8751.PNG IMG_8752.PNG IMG_8750.PNG

実装までの流れ

  1. シェアしたいWidgetを作成する
  2. ScreenShotControllerを定義し、captureFromWidgetを使用する
  3. スクリーンショットしたものを一時ディレクトリに保存をする
  4. シェアに必要な画像を試行錯誤をして変換する
  5. shareXFilesを使用して画像とテキストをシェアできるようにする

実装に必要なPackagesたち

実装していく

/// ScreenShotControllerを定義し、`captureFromWidget`を使用する
final screenshotController = ScreenshotController();
/// 今回は、Textのみをスクリーンショットする
final screenshotBytes = await screenshotController.captureFromWidget(
  Text("シェアしたいよおお")
);
/// 一時ディレクトリに保存
final tempDir = await getTemporaryDirectory();
final filePath = '${tempDir.path}/shared_image.png';

/// シェアに必要な画像を試行錯誤をして変換する
final file = File(filePath);
await file.writeAsBytes(screenshotBytes);
/// shareXFilesを使用して画像とテキストをシェアできるようにする
await Share.shareXFiles(
    [XFile(file.path)],
    text: '${posts.foodName} in ${posts.restaurant} \n\n#FoodGram',
  );
);

ぜひ、色々なWidgetをシェアしてみてね。

実装していたPR

最後に

MapLibreを使用したアプリを個人で開発しています・:*+.(( °ω° ))/.:+

Group 93.png

  • 「FoodGram」は、フードシェアアプリとなっており、あなたの好きなレストランの食事をぜひこのアプリで共有していただけると嬉しいです!!

このアプリのセールスポイント

  • このアプリだけのレストランマップをユーザー全員で作成できる⭐️
  • 自分だけのフードアルバムを構築できる⭐️
  • 世界中の人たちの投稿を自由に閲覧できる⭐️
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?