/获取剪切板管理器
ClipboardManager cm = (ClipboardManager) Objects.requireNonNull(getActivity()).getSystemService(Context.CLIPBOARD_SERVICE);
创建字符型ClipData
ClipData clipData = ClipData.newPlainText("lable", chat);
将数据复制到剪切板
cm.setPrimaryClip(clipData);
从剪切板中获取数据
cm.getPrimaryClip();
复制用图片(通过右键图片另存为方式保存)
复制用图片(通过右键图片另存为方式保存)
复制用图片(通过右键图片另存为方式保存)
简易方法
xml中添加属性
android:textIsSelectable="true"
按钮长按复制提示复制成功
mBinding.tvNamesetOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData mClipData = ClipData.newPlainText("Name", mBinding.tvName.getText().toString());
clipboardManager.setPrimaryClip(mClipData);
ToastUtils.showShort("复制成功");
return false;
}
});
最终效果
xml 实现
推荐这种方式,优点是稳定,缺点是不易被用户知情
java 方式
可以看到底部复制成功提示