欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android仿QQ复制昵称效果的实现方法

时间:2021-03-02 11:45:45|栏目:Android代码|点击:

背景:

上一篇文章中,给出了一种复制QQ效果的方案,今天就来讲讲换一种方式实现。主要依赖的是一个开源项目https://github.com/shangmingchao/PopupList

解决办法:

PopupList.java的代码封装的比较完善,用纯java代码实现view效果,不需要使用图片,xml资源文件,引入的话,只需要copy PopupList.java代码到项目工程中。

剩下的就是调用了。这里不分析源码,源码比较简单,只讲如何使用的。

PopupList popupList = new PopupList(this);
List<String> popupMenuItemList = new ArrayList<>(Arrays.asList("复制QQ号"));
popupList.bind(tvQQNum, popupMenuItemList, new PopupList.PopupListListener() {
 @Override
 public boolean showPopupList(View adapterView, View contextView, int contextPosition) {
  return true;
 }
 
 @Override
 public void onPopupListClick(View contextView, int contextPosition, int position) {
  ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
  ClipData clipData = ClipData.newPlainText("Label", "10001");
  cm.setPrimaryClip(clipData);
 }
});

PopupList popupList = new PopupList(this);
List<String> popupMenuItemList = new ArrayList<>(Arrays.asList("复制"));
popupList.bind(tvUserName, popupMenuItemList, new PopupList.PopupListListener() {
 @Override
 public boolean showPopupList(View adapterView, View contextView, int contextPosition) {
  return true;
 }
 
 @Override
 public void onPopupListClick(View contextView, int contextPosition, int position) {
  ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
  ClipData clipData = ClipData.newPlainText("Label", "天天");
  cm.setPrimaryClip(clipData);
 }
});

用法很简单。PopupList支持单个,也支持数组形式的结构,如朋友圈点赞的那种效果等。

参考资料:

https://github.com/shangmingchao/PopupList

总结

上一篇:android监听器实例代码

栏    目:Android代码

下一篇:详解Android 硬布局item的高级写法

本文标题:Android仿QQ复制昵称效果的实现方法

本文地址:http://www.codeinn.net/misctech/72687.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有