Android EditText 去除编辑功能,保留点击移到光标效果。去除 屏蔽 双击全选
来源:互联网 发布:宝贝关键词怎么优化 编辑:程序博客网 时间:2024/05/20 23:57
网上找了很多资料,基本可以实现希望的效果,但还是不能解决双击后,光标跳转
最后还是拦截了OnTouchListener,但是光标又不能跳转,在onTouch中使用了【editText.getOffsetForPosition】取得位置后,调用【editText.setSelection()】
实现了光标移到。
。。。 editText.setOnTouchListener(new onDoubleClick());。。。。} class onDoubleClick implements View.OnTouchListener{ int count = 0; int firClick = 0; int secClick = 0; @Override public boolean onTouch(View v, MotionEvent event) { final float x = event.getX(); final float y = event.getY(); if(MotionEvent.ACTION_DOWN == event.getAction()){ int temp = editText.getOffsetForPosition(x,y); editText.setSelection(temp); } return true; }
XML中的设置
<EditText android:id="@+id/textNum" android:layout_x="160px" android:layout_y="40px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="48px" android:textStyle="normal" android:textColor="#FFFFFFFF" android:background="#00FFFFFF" android:text="132121212212" android:maxLength="99" android:focusable="true" android:clickable="true" android:textIsSelectable="false" android:focusableInTouchMode="true" android:longClickable="false" android:contextClickable="false" android:linksClickable="false" android:nestedScrollingEnabled="false" android:hapticFeedbackEnabled="false" android:cursorVisible="true" android:textSelectHandle="@drawable/edit_select_handle" android:selectAllOnFocus="false" />
edit_select_handle.xml - 这是在网上找到的资料<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <size android:width="0dp" /> <!-- 实际不显示,该图片的作用仅是占位,因直接设置android:textSelectHandle="@null"运行时出错,当然根据具体情况,可设置成一张图片png等 --></shape>
实现这种程度后期发现,拖动edit框内的文字无法scroll滚动,因为设定了OnTouchListener,因此只能自己在OnTouchListener调用响应方法实现文字滚动class onDoubleClick implements View.OnTouchListener{ int firClick = 0; int secClick = 0; float dx; float dy; @Override public boolean onTouch(View v, MotionEvent event) { final float x = event.getX(); final float y = event.getY(); Log.i(TAG,"onTouch:"+event.getAction()); if(MotionEvent.ACTION_DOWN == event.getAction()){ Log.i(TAG,"dx:"+dx); Log.i(TAG,"x:"+x); dx = x; dy = y; } if (MotionEvent.ACTION_UP == event.getAction()){ editText.requestFocus(); int temp = editText.getOffsetForPosition(x,y); editText.setSelection(temp); } if(MotionEvent.ACTION_MOVE == event.getAction()){ editText.scrollBy((int) (dx - x ),0); ViewGroup.LayoutParams layoutParams = v.getLayoutParams(); dx = x; dy = y; editText.requestLayout(); } return true; } }
刚接触android开发,前辈有更好的办法请明示,3Q
希望能给有这方法需求的朋友提供帮助
阅读全文
0 0
- Android EditText 去除编辑功能,保留点击移到光标效果。去除 屏蔽 双击全选
- Edittext去除光标和下划线
- Android edittext的光标修改颜色,去除下划线
- android Edittext 去除下划线
- Edittext光标移到最后
- EditText 光标移动至最后 去除默认黑色光标
- tableview didselect去除点击效果
- tableview didselect去除点击效果
- 【Android】Android EditText 去除边框
- 怎么去除android listview的默认点击效果
- android EditText 隐藏系统键盘 保留光标
- 学习笔记--EditText点击全选效果
- Android EditText屏蔽粘贴功能
- EditText 设置光标位置及点击屏蔽软键盘
- android 之EditText长按屏蔽ActionMode context菜单但保留选择工具功能
- android EditText长按屏蔽ActionMode context菜单但保留选择工具功能
- 去除listview和gridview的点击效果
- 去除listview默认点击效果和底色
- 在React-Native中使用redux
- 51-汇编学习笔记(一)
- 离散题目5
- 素数线性筛(O(N)!!!)
- LeetCode-582. Kill Process (JAVA)杀死进程
- Android EditText 去除编辑功能,保留点击移到光标效果。去除 屏蔽 双击全选
- 用swoole framework 实现远程接口调用RPC
- c++导出全局变量给lua使用
- 读取指定字符串后面的数值
- POJ
- 模仿探探的左右滑动切换卡片功能
- kipmi0进程导致CPU使用率过高
- Android6.0权限适配
- Requires development platform O but this is a release platform