您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页Android输入框控件EditText与软键盘之间的恩恩怨怨

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

来源:二三娱乐

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

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

如何做到不弹出软键盘?

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

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

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

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

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

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

软键盘遮挡EditText问题

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

<ScrollView 

android:layout_width="match_parent"

android:layout_height="wrap_content">

</ScrollView>

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务