使用cocoscreator 分别在 安卓和网页 上实现 复制 功能

cocos打包apk步骤就省略了,毕竟网上一搜一大堆,只要配置好原生开发环境 构建编译就可以了使用cocoscreator 分别在 安卓和网页 上实现 复制 功能_第1张图片

编译好后,打开发布路径,在路径 

\build\jsb-default\frameworks\runtime-src\proj.android-studio\app\src\org\cocos2dx\javascript

目录下打开我们熟悉亲切的AppActivity.java文件

然后在文件的头部添加下图三行代码(这是用来导入剪切板的),

导入以后才可以可以愉快的调用剪切板功能.

如下图写个JavaCopy方法 调用CLIPBOARD_SERVICE ,到这里复制功能已经可以用了。

使用cocoscreator 分别在 安卓和网页 上实现 复制 功能_第2张图片

使用cocoscreator 分别在 安卓和网页 上实现 复制 功能_第3张图片

调用的时候,只要回到你的js文件中在需要使用复制功能的地方 调用下面方法的方法就可以了

 

JsCopy(str){
        if (cc.sys.isNative && cc.sys.os == cc.sys.OS_ANDROID)
            setTimeout(() => {
            jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "JavaCopy", "(Ljava/lang/String;)V", str);
        }, 100)
      
    },

完毕。

然后是网页上的复制,代码如下:

webCopyString(str){
        var input = str;
        const el = document.createElement('textarea');
        el.value = input;
        el.setAttribute('readonly', '');
        el.style.contain = 'strict';
        el.style.position = 'absolute';
        el.style.left = '-9999px';
        el.style.fontSize = '12pt';

        const selection = getSelection();
        var originalRange = false;
        if (selection.rangeCount > 0) {
            originalRange = selection.getRangeAt(0);
        }
        document.body.appendChild(el);
        el.select();
        el.selectionStart = 0;
        el.selectionEnd = input.length;

        var success = false;
        try {
            success = document.execCommand('copy');
        } catch (err) {}

        document.body.removeChild(el);

        if (originalRange) {
            selection.removeAllRanges();
            selection.addRange(originalRange);
        }

        return success;               
    },

把要复制的内容直接传入就好了

如有其它方面的问题,欢迎加入技术交流群一起讨论---群号:199678137 

验证信息请填你认为的正确答案或关键字:[复制]  

 

你可能感兴趣的:(cocoscreator)