EditText控件设置只读,动态控制EditText状态 输入框不自动打开输入法
Posted 安卓笔记侠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditText控件设置只读,动态控制EditText状态 输入框不自动打开输入法相关的知识,希望对你有一定的参考价值。
android的文本框输入控件(EditText),有时需要设置控件为只读,最简单的方法就是在layout xml文件中设置EditText的android:editable属性值为false即可,但是大部分时候我们需要在Java代码中动态设置EditTex的只读性,而android里没有提供对应的setEditable方法来设置EditText的只读属性,这时候可以通过以下方式变通实现:
public static void setEditTextReadOnly(TextView view){ view.setTextColor(R.color.read_only_color); //设置只读时的文字颜色 if (view instanceof android.widget.EditText){ view.setCursorVisible(false); //设置输入框中的光标不可见 view.setFocusable(false); //无焦点 view.setFocusableInTouchMode(false); //触摸时也得不到焦点 } }
当需要让他可编辑时 再把上面属性设为相反状态即可
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);// 让输入框不自动打开输入法
以上是关于EditText控件设置只读,动态控制EditText状态 输入框不自动打开输入法的主要内容,如果未能解决你的问题,请参考以下文章
android自定义edittext 当有文字时怎么禁止长按全选事件
Android控件ListView获取item中EditText值