Android 剪切板操作
在Android中,可以通过ClipboardManager服务来操作剪切板进行设置和读取操作!
运行界面UI效果:
复制-粘贴后的效果:
清除-粘贴的效果:
主要代码如下:
import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.text.ClipboardManager; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class ClipboardTestActivity extends Activity implements OnClickListener { private EditText editText; private Button copyButton; private Button pasteButton; private Button clearButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); editText = (EditText) findViewById(R.id.editText1); copyButton = (Button) findViewById(R.id.button1); pasteButton = (Button) findViewById(R.id.button2); clearButton = (Button) findViewById(R.id.button3); copyButton.setOnClickListener(this); pasteButton.setOnClickListener(this); clearButton.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: copy("Number:" + Math.random() * 100); break; case R.id.button2: paste(editText); break; case R.id.button3: clear(); break; default: break; } } private void clear() { ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); clipboardManager.setText(null); } private void paste(EditText editText) { ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); CharSequence text = clipboardManager.getText(); if (TextUtils.isEmpty(text)) { Toast.makeText(this, "The clipboard is empty!", Toast.LENGTH_SHORT).show(); return; } editText.setText(text); } private void copy(String text) { ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); clipboardManager.setText(text); } }
说明:
- copy:随机产生一个数字,然后设置到剪贴板;
- paste:从剪贴板获得数据,并设置到EditText中进行显示;
- clear:清空剪贴板----其实和copy原理一样罢了;
布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="5dip"> <EditText android:id="@+id/editText1" android:layout_width="fill_parent" android:layout_height="wrap_content" > <requestFocus /> </EditText> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Copy" /> <Button android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Paste" /> <Button android:id="@+id/button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Clear" /> </LinearLayout>
多说一句:详细内容请参考开发者文档!:)