Android输入框控件EditText与软键盘之间的恩恩怨怨

进入含有输入框控件的界面,系统默认弹出软键盘。

根本原因属性focusableInTouchMode惹的祸。
该属性的意思为触屏模式下获取焦点,手机基本上都是触屏的,当然也有非触屏的TV。
默认情况下EditText值为true
android:focusableInTouchMode="true"
其他控件默认情况值为False
android:focusableInTouchMode="fasle"
导致进入界面时EditText获取到焦点,弹出软键盘。

如何做到不弹出软键盘?

  • 1通过设置EditText父视图属性值
    android:focusableInTouchMode="true"
  • 2位置在EditText之前的控件设置属性
    android:focusableInTouchMode="true"
  • 3设置EditText属性值
    android:focusableInTouchMode="fasle"

需要注意这个标签

当EditText控件添加了该标签,导致前两种方式失效,进入界面依然弹出软键盘!!!


//请求焦点标签的设置

屏蔽EditText输入功能,点击EditText不弹出软键盘,而触发其他操作。

设置EditText属性
android:focusable="false"
使EditText不可获取焦点,达到触摸或点击无反应。

软键盘遮挡EditText问题

输入框在屏幕底部时,完全被软键盘遮挡,解决办法,在整体布局之外增加ScrollView




你可能感兴趣的:(Android输入框控件EditText与软键盘之间的恩恩怨怨)