提问者:小点点

如何以编程方式调用内置的复制到剪贴板可视化?


我们可以使用ClipboardManager将某些内容复制到剪贴板,如下所示:

final ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
final ClipData clipData = ClipData.newPlainText("", someTextToCopy);
clipboard.setPrimaryClip(clipData);

问题是,此代码是静默的,因此用户看不到任何表明文本已被复制的内容。

我可以添加我自己的吐司,但并非所有设备都在用户复制文本时显示吐司(G2显示添加内容的临时注释窗口),即使对于那些这样做的设备,我也找不到他们使用的字符串,也找不到翻译。

以下是LG G2上的样子(等到复制完成):

https://youtu.be/cmmJC4_7EhE?t=33

下面是另一台设备上显示祝酒词的方式:

https://youtu.be/9S7ud5Ux5Fg?t=49

有没有办法调用默认剪贴板复制?

我说的是在EditText(或WebView,或您可以作为用户复制文本的任何地方)上使用的那个,当您在其中标记文本并选择“复制”时。

请注意,我没有将它用于EditText/TextView。我想调用默认复制,即使是从按钮。


共1个答案

匿名用户

据我所知,没有这样的内置功能。您可以在应用程序中进行类似的行为。请参阅问题下方评论中的所有示例。