• Android 复制文本内容到系统剪贴板的最简单实践


    这个例子很简单,直接上截图和代码。

    布局文件activity_copy.xml代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/tvMsg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="记者问一路人:“大妈,您觉得雾霾影响大吗?”路人:“能不大吗?首先你要看清楚,我是你大爷。"
            android:textSize="20sp" />
    
        <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:onClick="onClickCopy"
            android:text="复制上面的文本内容" />
    
    </LinearLayout>

    后台CopyActivity.java代码如下:

    package chengyujia.demo.aty;
    
    import android.content.Context;
    import android.os.Bundle;
    import android.text.ClipboardManager;
    import android.view.View;
    import android.widget.TextView;
    import android.widget.Toast;
    import chengyujia.demo.R;
    
    public class CopyActivity extends BaseActivity {
    
        private TextView tvMsg;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_copy);
            tvMsg = (TextView) findViewById(R.id.tvMsg);
        }
    
        public void onClickCopy(View v) {
            // 从API11开始android推荐使用android.content.ClipboardManager
            // 为了兼容低版本我们这里使用旧版的android.text.ClipboardManager,虽然提示deprecated,但不影响使用。
            ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
            // 将文本内容放到系统剪贴板里。
            cm.setText(tvMsg.getText());
            Toast.makeText(this, "复制成功,可以发给朋友们了。", Toast.LENGTH_LONG).show();
        }
    }

    核心代码就两句:

    ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);

    cm.setText(要复制的文本内容);

  • 相关阅读:
    uvm设计分析——report
    report源码分析——report_handle和report_server和report_catcher
    report源码分析——宏的执行
    015-命令行下载安装brew
    011-多线程-基础-基于AbstractQueuedSynchronizer自定义同步组件
    010-多线程-JUC集合-Queue-ConcurrentLinkedQueue
    009-多线程-JUC集合-Queue-LinkedBlockingDeque
    008-多线程-JUC集合-Queue-LinkedBlockingQueue
    007-多线程-JUC集合-Queue-BlockingQueue接口以及ArrayBlockingQueue
    006-多线程-集合-Set-ConcurrentSkipListSet
  • 原文地址:https://www.cnblogs.com/chengyujia/p/5033217.html
Copyright © 2020-2023  润新知