EditText上禁用软键盘,但仍然允许复制/粘贴
2016-09-21 11:21
435 查看
嗨,我正在做的自定义拨号程序,所以我创造我自己的输入衰减。 问题是我怎么禁用的EditText,但仍然允许剪切/复制/粘贴?股票拨号器可以做到这一点。 我已经试过了
我也试过禁用
从清单中禁用它也不起作用:
解决的办法?谢谢
本文地址 :CodeGo.net/558093/
-------------------------------------------------------------------------------------------------------------------------
1. 试试这个
无需子类。这一点,让你的EditText非是,EditText上仍然有它自己的光标之间的主要区别-你可以选择文本,等它所做的就是从弹出自己的软键盘抑制输入法。
2. 下班后和时间的研究,我终于找到了一个解决方案,它适用于所有的API版本。希望这可以保存
如果你正在开发的API>=11,解决方法很简单 CodeGo.net,可以: 1)在EditText上的xml文件中添加两个属性如下
或 2)通过编程做以下
就大功告成了。 如果你想满足API <11为好,我发现,有没有办法从弹出了,如果你想选择的文本复制粘贴目的禁用键盘。设置为false将禁用键盘,但它并不能帮助它禁止你的能力来选择文本了。任何其他解决方案,我发现在StackOverflow的一切要么不工作或禁用文本选择的了。
一个丑陋的方式来解决,这是因为这样的.. 首先,在EditText上的xml文件中添加这个属性
是的,这已被弃用,但需要作出的EditText在API版本<11不可编辑。 接下来,我们需要尽快隐藏键盘,因为它显示出来,这样我们就可以继续,而不键盘挡住了路选择文本。 用下面这段代码来检测键盘显示出来(从溶液中获得,它隐藏
它适用于我的情况。虽然你可以看到键盘显示在一瞬间(这是丑陋的部分),但我想不出任何其他方式得到这个工作在写作。如果你有一个更好的解决方案,请留下 知道太多,如果这样可以保存:)
本文标题 :从EditText上禁用软键盘,但仍然允许复制/粘贴?
本文地址 :CodeGo.net/558093/
android:focusable="false"但禁用剪切/复制(仍然可以粘贴虽然)。
我也试过禁用
inputType编程它可禁止所有
myEditText.setInputType(InputType.TYPE_NULL); //Can't cut/copy/paste
从清单中禁用它也不起作用:
android:configChanges="orientation|keyboardHidden" //Keyboard still popped up
解决的办法?谢谢
本文地址 :CodeGo.net/558093/
-------------------------------------------------------------------------------------------------------------------------
1. 试试这个
EditText et = ... // your EditText et.setKeyListener(null) //makes the EditText non-editable so, it acts like a TextView.
无需子类。这一点,让你的EditText非是,EditText上仍然有它自己的光标之间的主要区别-你可以选择文本,等它所做的就是从弹出自己的软键盘抑制输入法。
2. 下班后和时间的研究,我终于找到了一个解决方案,它适用于所有的API版本。希望这可以保存
如果你正在开发的API>=11,解决方法很简单 CodeGo.net,可以: 1)在EditText上的xml文件中添加两个属性如下
android:inputType="none" android:textIsSelectable="true"
或 2)通过编程做以下
myEditText.setInputType(InputType.TYPE_NULL); myEditText.setTextIsSelectable(true);
就大功告成了。 如果你想满足API <11为好,我发现,有没有办法从弹出了,如果你想选择的文本复制粘贴目的禁用键盘。设置为false将禁用键盘,但它并不能帮助它禁止你的能力来选择文本了。任何其他解决方案,我发现在StackOverflow的一切要么不工作或禁用文本选择的了。
一个丑陋的方式来解决,这是因为这样的.. 首先,在EditText上的xml文件中添加这个属性
android:editable="false"
是的,这已被弃用,但需要作出的EditText在API版本<11不可编辑。 接下来,我们需要尽快隐藏键盘,因为它显示出来,这样我们就可以继续,而不键盘挡住了路选择文本。 用下面这段代码来检测键盘显示出来(从溶液中获得,它隐藏
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) { final View activityRootView = findViewById(R.id.activityRoot); activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { Rect r = new Rect(); //r will be populated with the coordinates of your view that area still visible. activityRootView.getWindowVisibleDisplayFrame(r); int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top); if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard... //Hide the keyboard instantly! if (getCurrentFocus() != null) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); } } } }); }
它适用于我的情况。虽然你可以看到键盘显示在一瞬间(这是丑陋的部分),但我想不出任何其他方式得到这个工作在写作。如果你有一个更好的解决方案,请留下 知道太多,如果这样可以保存:)
本文标题 :从EditText上禁用软键盘,但仍然允许复制/粘贴?
本文地址 :CodeGo.net/558093/
相关文章推荐
- EditText上禁用软键盘,但仍然允许复制/粘贴
- android开发之解决PopWindow中EditText无法复制粘贴问题
- Android EditText屏蔽默认长按粘贴复制事件
- Android 源码中的EditText 复制内容后粘贴有空格
- EditView与TextView如何实现长按复制、粘贴、选择
- EditText隐藏选择粘贴复制功能
- Android EditText禁止复制粘贴
- 自定义EditText 的复制 、粘贴、剪切等
- TextView、EditText中文本设置为可复制粘贴
- EditText 屏蔽选择、复制、粘贴等一切剪切板的操作
- Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题
- EditText去掉复制粘贴的功能
- android 设置EditText只能输入大写字母,Fragment的软键盘输入模式
- 关于edittext 输入的软键盘处理
- Android开发:在EditText中关闭软键盘
- android editText 软键盘enter键图标的设置
- android editText 软键盘enter键图标的设置
- AlertDialog自定义布局中有editText,不能弹出软键盘
- 进入Acivity后EditText自动聚焦,自动弹出软键盘的问题
- 关于ListView中EditText点击弹出软键盘及软键盘弹出后的焦点问题