在开发一些系统应用的时候,因为它能在任何地方用到,当初我感觉它应该设计的很好,而且很深奥,但查看代码的时候却发现异常的简单。我们可以需要用到android的剪贴板功能,比如将文本复制到剪贴板或者从剪贴板复制数据等操作。使用起来很简单,系统给我们提供了很方便的接口,如下所示:
1
//获取剪贴板管理服务
2
ClipboardManager cm =(ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
3
//将文本数据复制到剪贴板
4
cm.setText(message);
5
//读取剪贴板数据
6
cm.getText();
是不是很简单
下面是系统控件使用的剪切板的代码如下:
case ID_CUT:
MetaKeyKeyListener.stopSelecting(this, (Spannable) mText);
if (min == max) {
min = 0;
max = mText.length();
}
clip.setText(mTransformed.subSequence(min, max));
((Editable) mText).delete(min,max);
return true;
case ID_COPY:
MetaKeyKeyListener.stopSelecting(this,(Spannable) mText);
if (min == max) {
min = 0;
max = mText.length();
}
clip.setText(mTransformed.subSequence(min, max));
return true;
case ID_PASTE:
MetaKeyKeyListener.stopSelecting(this, (Spannable) mText);
CharSequence paste =clip.getText();
if (paste != null) {
Selection.setSelection((Spannable) mText, max);
((Editable)mText).replace(min, max, paste);
}
return true;
case ID_COPY_URL:
MetaKeyKeyListener.stopSelecting(this, (Spannable) mText);
URLSpan[] urls = ((Spanned)mText).getSpans(min, max,
URLSpan.class);
if (urls.length == 1) {
clip.setText(urls[0].getURL());
}
return true;