现在的位置: 首页 > 综合 > 正文

android学习(1)–剪切板

2013年10月24日 ⁄ 综合 ⁄ 共 1663字 ⁄ 字号 评论关闭

在开发一些系统应用的时候,因为它能在任何地方用到,当初我感觉它应该设计的很好,而且很深奥,但查看代码的时候却发现异常的简单。我们可以需要用到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;

抱歉!评论已关闭.