在 Android 中,图像的复制和粘贴都是使用剪贴板功能实现的。可以通过以下代码将图像复制到剪贴板中:
private void copyImageToClipboard(Bitmap bitmap) {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newBitmap("image", bitmap);
clipboard.setPrimaryClip(clip);
}
上述代码将一个名为“image”的位图添加到剪贴板中。可以在需要的时候从剪贴板中获取该位图并将其粘贴到目标位置,例如:
private void pasteImageFromClipboard() {
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard.hasPrimaryClip() && clipboard.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_IMAGE_PNG)) {
ClipData.Item item = clipboard.getPrimaryClip().getItemAt(0);
// Get the bitmap from the clipboard
Bitmap bitmap = null;
try {
bitmap = item.getUri() != null ? MediaStore.Images.Media.getBitmap(getContentResolver(), item.getUri()) : item.getBitmap();
} catch (IOException e) {
e.printStackTrace();
}
if (bitmap != null) {
// Paste the bitmap to the target view
imageView.setImageBitmap(bitmap);
}
}
}
上述代码将从剪贴板中获取名称为“image”的位图,并将其粘贴到名为“imageView”的ImageView中。
可以通过自定义的方式扩展或修改该功能,例如定制剪贴板中可接受的数据类型或添加自定义的“复制”和“粘贴”菜单项。