Android 如何让EditText不自动获取焦点&隐藏软键盘
2024-10-01 07:07:09
感谢大佬:https://blog.csdn.net/a18615971648/article/details/72869345
有时候的项目当中进入某个页面edittext会自动获取焦点弹出软键盘,用户体验非常不好,那么如何避免这种情况呢?在网上查了一下大概有三种方法。
第一种:设置一个默认的View,在页面加载的时候调用requFocus()方法,前提是该View的setFocusable()要设置为true
第二种:直接调用edittext的clearFocus()方法,不过该方法有时候会不生效
第三种:在布局文件中给edittext的父控件增加两个属性
android:focusable="true"
android:focusableInTouchMode="true"
例如:
android:layout_height="50dp"
android:background="@drawable/bg_input"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:gravity="center_vertical" android:focusable="true"
android:focusableInTouchMode="true" >
android:layout_width="0dp"
android:layout_weight="5"
android:layout_height="wrap_content"
android:hint="手机号码"
android:layout_toRightOf="@id/iv_login"
android:paddingLeft="5dp"
android:inputType="number"
android:background="@null"
另外还有一种方法是强制隐藏输入法,但并不会使edittext失去焦点
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
补充:
参考:https://ask.csdn.net/questions/39
最新文章
- There are no resources that can be added or removed from the server
- 修改mysql默认字符集的方案
- 编译安装apache下添加mod_rewrite支持
- php中method_exists()和is_callable()如何进行语句判断
- 【Hibernate 9】悲观锁和乐观锁
- JUnit4注解基本介绍
- JAVA学习笔记--二
- Ajax发送Post请求
- MotionEvent的getX(),getY()与getRawX(),getRawY()区别
- 使用JS控制struts的日期控件datetimepicker
- PHP开发人员对JAVA的WEB开发入门(初版-已废弃)
- gulp实现公共html代码复用
- 机器学习---文本特征提取之词袋模型(Machine Learning Text Feature Extraction Bag of Words)
- 201903<;<;高效15法则>;>;
- [development][security][modsecurity][nginx] nginx / modsecurity development things
- .NET面试题系列(四)计算机硬件知识
- 五、vue状态管理模式vuex
- POST数据时400错误
- 寻找 IBatisNet 批量插入(批量复制) 的心路历程
- 3.SpringMVC介绍