Android软键盘Android知识Android开发

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

2016-03-25  本文已影响3383人  IT枫

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

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

如何做到不弹出软键盘?

需要注意<requestFocus />这个标签

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

<EditText ...>
//请求焦点标签的设置
<requestFocus android:layout_width="wrap_content"/>
</EditText>

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

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

软键盘遮挡EditText问题

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content">

</ScrollView>
上一篇下一篇

猜你喜欢

热点阅读