Android中复制及粘贴功能
来源:互联网 发布:淘宝红包套现被处罚 编辑:程序博客网 时间:2024/05/17 04:14
我们开发中,经常会用到复制粘贴的功能。算是一个小功能,也比较简单。我把项目里用的,抽离出来,附带上自定义了一个简单的菜单弹窗。
来一张gif效果图:
直接上代码,文前后有Demo
正文类:
列表内容
/** * Created by zhenqi */public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView textView = (TextView) findViewById(R.id.textView); final TextView textView2 = (TextView) findViewById(R.id.textView2); EditText editText = (EditText) findViewById(R.id.editText); //第一个文字的长按监听 textView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { showMenu(textView); return true; } }); //第二个文字的长按监听 textView2.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { showMenu(textView2); return true; } }); } public void showMenu(final TextView textView) { //可以按照需求随意添加 中心显示的Dialog CenterMenuDialog centerMenuDialog = new CenterMenuDialog(MainActivity.this); //第一个选择条目 Menu copyMenu = new Menu.Builder().setCaption("复制").setMenuCommand(new MenuCommand() { @Override public void onClick() { ClipboardManager myClipboard; myClipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); myClipboard.setPrimaryClip(ClipData.newPlainText("content", textView.getText())); Toast.makeText(MainActivity.this, "内容已经复制", Toast.LENGTH_SHORT).show(); } }).build(); centerMenuDialog.addMenu(copyMenu); //第二个选择条目 Menu themeMenu = new Menu.Builder().setCaption("取消").setMenuCommand(new MenuCommand() { @Override public void onClick() { Toast.makeText(MainActivity.this, "已经取消", Toast.LENGTH_SHORT).show(); } }).build(); centerMenuDialog.addMenu(themeMenu); //显示Dialog centerMenuDialog.show(); }}
弹窗类:
/** * Created by zhenqi * 中心弹窗类 */public class CenterMenuDialog { AlertDialog.Builder builder; List<Menu> menuList=new ArrayList<>(); public void addMenu(Menu menu) { menuList.add(menu); } public CenterMenuDialog(Context context){ builder = new AlertDialog.Builder(context); builder.setCancelable(true); } public void show(){ String arr[]=new String[menuList.size()]; for (int i = 0; i < menuList.size(); i++) { arr[i]=menuList.get(i).caption; } builder.setItems(arr, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Menu menu=menuList.get(i); if(menu.menuCommand!=null){ menu.menuCommand.onClick(); } } }); builder.create().show(); }}
菜单类:
/** * Created by zhenqi * 自定义菜单类 */public class Menu { public int resourceId; public String caption; public MenuCommand menuCommand; public static class Builder { int resourceId; String caption; MenuCommand menuCommand; public Builder setResourceId(int resourceId){ this.resourceId=resourceId; return this; } public Builder setCaption(String caption){ this.caption=caption; return this; } public Builder setMenuCommand(MenuCommand menuCommand){ this.menuCommand=menuCommand; return this; } public Menu build(){ Menu menu=new Menu(); menu.resourceId=resourceId; menu.menuCommand=menuCommand; menu.caption=caption; return menu; } }}
接口
/** * Created by zhenqi */public interface MenuCommand { void onClick();}
→Demo地址,点击下载←
阅读全文
0 0
- Android中复制及粘贴功能
- Android中复制及粘贴功能
- Android复制粘贴功能
- Android-调用系统粘贴板copy复制文本功能及复制文本到粘贴板
- Android笔记-系统的复制粘贴功能及注意事项
- android 复制 粘贴 功能实现
- Android实现复制粘贴功能
- Android 复制和粘贴功能
- android 剪切板 (粘贴复制功能)
- Android EditText 取消复制粘贴剪贴功能
- Android屏蔽edittext的复制、粘贴功能
- android TextView实现复制粘贴功能
- Android 复制到剪切板和粘贴功能
- android实现复制粘贴一项文本功能
- Eclipse插件中复制粘贴功能
- swt中提供的复制粘贴功能.
- 复制-粘贴功能
- 实现 复制 粘贴功能
- 手工注入一般步骤
- 《Spring实战》读书笔记1
- CSS IMG 居中自适应收集
- java.sql.Types,数据库字段类型,java数据类型的对应关系
- python学习之全局变量与局部变量
- Android中复制及粘贴功能
- 使用java swing完成简单的计算器
- centos操作系统中mysql的安装与配置
- 最简单方法让tomcat跑起php程序
- Hive(十九)--分桶
- Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新
- python中defaultdict方法使用详解
- 扩增子统计绘图7三元图
- 小米四启用虚拟按键以及禁用实体按键