Flutterでクリップボードにコピーをする
コピー
import 'package:flutter/services.dart';
Clipboard.setData(ClipboardData(text: 'コピーされるテキスト'));
ついでにペースト
ペーストというよりクリップボードのデータを取得する方法。
import 'package:flutter/services.dart';
final textData = await Clipboard.getData(Clipboard.kTextPlain);
getData
メソッドの引数はメディアタイプのフォーマットが入る。ちなみに上記の例で使ったClipboard.kTextPlain
の定義は以下のようになっている。
static const String kTextPlain = 'text/plain';
したがって、上記の例ではテキスト形式のデータが取得される
画像を取得したいときはimage/png
なんかを入れるのかもしれない(未検証)。
[追記]
Clipboardに保存されるデータを表現するクラスにあたるClipboardData
のドキュメントを見たところ、以下の記述があった。
The system clipboard can contain data of various media types. This data structure currently supports only plain text data, in the text property.
今(2022年4月10日現在)のところはtext
データしかサポートしていないらしい。
[追記おわり]