Android(安卓)剪切板操作
16lz
2021-12-04
在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); }@Overridepublic 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>
多说一句:详细内容请参考开发者文档!:)
更多相关文章
- Android(安卓)强制设置应用横屏或竖屏
- Android的设置界面及Preference使用
- Android(安卓)拖拽
- Android使用自定义AlertDialog
- android 背景圆角以及图片圆角处理
- Android(安卓)TextView 动态设置DrawableLeft
- 2011.09.26(5)——— android sample之Notepad(TitleEditor)
- shape等特殊xml
- Android(安卓)popupWindow响应back按键并关闭