2025年3月31日 星期一 乙巳(蛇)年 正月初一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > 安卓(android)开发

禁止EditView自动弹出系统软键盘_Android基础篇(Java)

时间:10-29来源:作者:点击数:23
城东书院 www.cdsy.xyz

1.场景描述:

1) APP项目中经常会开发自定义软键盘;同时在使用EditView时,也会常常遇到自动弹出系统自带的软键盘,与自定义的软键盘产生冲突的情况;此时需要禁止EditView自动弹出系统软键盘,从而使自定义的软键盘正常显示。

2) 正常的禁用系统软键盘方法无法满足需求,eg:在复制粘贴文本前,选中EditView中的文本时,Android系统会自动调起软键盘,与自定义的软键盘产生冲突;此时需要特殊处理一下。

希望达到的效果是无论如何点击EditView,系统软键盘绝对不会弹出来——实现彻底禁止EditView自动弹出系统软键盘。

2. 功能实现

1)首先,在清单文件AndroidManifest.xml中,给EditView所在的Activity页面设置属性

  • android:windowSoftInputMode="stateHidden"

eg:(示例仅供参考)

  • <activity
  • android:name=".promise.sun.DemoActivity"
  • android:windowSoftInputMode="stateHidden"/>

2)然后,找到EditView所在的xml布局文件,找到EditView的父布局(容器),设置属性

  • android:focusable="false"
  • android:focusableInTouchMode="false"

eg:(示例仅供参考)

  • <RelativeLayout
  • android:layout_width="match_parent"
  • android:layout_height="wrap_content"
  • android:focusable="false"
  • android:focusableInTouchMode="false">
  • <EditText
  • android:id="@+id/et_search"
  • android:layout_width="match_parent"
  • android:layout_height="@dimen/dp_35"
  • android:layout_gravity="center"
  • android:background="@drawable/bg_white_border_buleside_10"
  • android:drawableLeft="@drawable/icon_search"
  • android:drawableRight="@drawable/icon_clear"
  • android:hint="请输入"
  • android:maxLength="12"
  • android:maxLines="1"
  • android:paddingLeft="@dimen/dp_30"
  • android:paddingRight="@dimen/dp_10"
  • android:singleLine="true"
  • android:textColor="@color/app_black"
  • android:textColorHint="@color/grey_nine"
  • android:textColorHighlight="@color/blue_two"
  • android:textCursorDrawable="@drawable/cursor"
  • android:textSize="@dimen/sp_14" />
  • </RelativeLayout>

3)最后,找到EditView所在的Activity,在初始化时设置方法

  • editView.setShowSoftInputOnFocus(false);

4)完美解决,亲测有效。

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐