Android textview 实现长按自由选择复制功能的方法

 更新时间:2017年04月22日 09:54:05   投稿:jingxian  
下面小编就为大家带来一篇Android textview 实现长按自由选择复制功能的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

这里有一个大坑,我的viewGroup中有一个这个属性android:descendantFocusability=”blocksDescendants”

开始没有注意到,试了好多方法都不行,后来才看到这个属性,顺便科普一下,这个属性有三个值~

beforeDescendants:viewgroup会优先其子类控件而获取到焦点

afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

这里使用afterDescendants就好了,

标题有一点误区,其实这里的textView是editText,只是样子像textView而已,直接上代码

<EditText
 android:id="@+id/order_details_tv_order_number"
 style="@style/theme_loginEditText"
 android:layout_width="0dp"
 android:layout_height="match_parent"
 android:layout_weight="2"
 android:background="@null"
 android:editable="false"
 android:textIsSelectable="true"
 android:gravity="right|center_vertical"
 android:lines="1"
 android:textColor="@color/pub_color_black"
 android:textCursorDrawable="@null"
 android:textSize="@dimen/text_h16"
 tools:text="2382787482347" />

其中需要注意的是这几个属性

android:background=”@null”//背景设为null,去掉editText下划线
android:textCursorDrawable=”@null”//游标设为null,去掉游标
android:editable=”false”//不可编辑
android:textIsSelectable=”true”//文字内容可选

测试发现部分rom会弹不出来系统自带复制按钮,加入下面代码可以保证复制成功

tvView.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {

      ClipboardManager cm =(ClipboardManager)getContext().getSystemService(Context.CLIPBOARD_SERVICE);
      cm.setText(orderDetailsTvOrderNumber.getText().toString());
      //ToastUtil.toastSth(getContext() , "订单号已复制到剪切板,快去粘贴吧~");
      return false;
    }
});

以上这篇Android textview 实现长按自由选择复制功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Android7.0版本影响开发的改进分析

    Android7.0版本影响开发的改进分析

    这篇文章主要介绍了Android7.0版本影响开发的改进,总结分析了Android7.0版本中比较常见的开发注意事项与操作技巧,需要的朋友可以参考下
    2017-11-11
  • Android自定义GestureDetector实现手势ImageView

    Android自定义GestureDetector实现手势ImageView

    这篇文章主要为大家详细介绍了Android自定义GestureDetector实现手势ImageView的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android编程实现读取工程中的txt文件功能

    Android编程实现读取工程中的txt文件功能

    这篇文章主要介绍了Android编程实现读取工程中的txt文件功能,结合实例形式详细分析了Android读取txt文件的原理、操作步骤与相关实现技巧,需要的朋友可以参考下
    2017-02-02
  • Android自定义对话框Dialog的简单实现

    Android自定义对话框Dialog的简单实现

    这篇文章主要为大家详细介绍了Android自定义对话框Dialog的简单实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • flutter开发的app项目 打包成web

    flutter开发的app项目 打包成web

    如果你的Flutter版本低于2.0,请先升级Flutter版本,创建一个web文件夹来存放web相关的资源,使用HTML渲染器打包,该渲染器提供的打开速度最快,并且具有良好的浏览器兼容性,使用默认设置进行打包,提供的打开速度为一般,但依然保持良好的浏览器兼容性
    2024-08-08
  • Android引用开源框架通过AsyncHttpClient实现文件上传

    Android引用开源框架通过AsyncHttpClient实现文件上传

    这篇文章主要介绍了Android引用开源框架通过AsyncHttpClient实现文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 推荐几本Android程序员必读书籍

    推荐几本Android程序员必读书籍

    这篇文章主要为大家推荐Android程序员必读的热门书单,帮助大家开启奇妙的android编程之旅,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android图片压缩以及优化实例

    Android图片压缩以及优化实例

    本篇文章主要介绍了Android图片压缩以及优化实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • android 九宫格滑动解锁开机实例源码学习

    android 九宫格滑动解锁开机实例源码学习

    开机密码的样式种类多种多样,五花八门.本文接下来介绍滑动九宫格来达到开机目的,感兴趣的朋友可以了解下
    2013-01-01
  • Flutter进阶之实现动画效果(八)

    Flutter进阶之实现动画效果(八)

    这篇文章主要为大家详细介绍了Flutter进阶之实现动画效果的第八篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08

最新评论