EditText软件盘显示和占用位置属性解析

2017-03-06  本文已影响0人  微罗妮卡

在讲解EditText之前,先介绍一下如何查看android属性文档:

1.在SDK api中搜索android
2.在搜索结果的R.attr中

Paste_Image.png
<EditText   
  android:id="@+id/edit_text" 
  android:layout_width="match_parent" 
  android:layout_height="wrap_content" />

以上默认情况下,EditText有焦点,软件盘不弹出.但是如果EditText被ScrollView包裹,软件盘会弹出

focusable : Boolean that controls whether a view can take focus.
一个控件是否可以聚焦 ,这个主要应用在非触摸屏的android应用中

focusableInTouchMode : Boolean that controls whether a view can take focus while in touch mode.
当在触摸模式下,判断一个控件是否可以聚焦.
主要用在EditText中,因为软件盘会为拥有焦点的EditText输入.如果此值设置为false,键盘是不会弹出的.

windowSoftInputMode :定义了默认的软件盘输入状态
Defines the default soft input state that this window would like when it is displayed. Corresponds to softInputMode.Must be one or more (separated by '|') of the following constant values.

Paste_Image.png

默认会焦点位置移动,类似adjustPan效果
如果想要默认不显示软件盘,并且点击后输入内容显示,可以按以下设置:

<activity   
android:name=".MainrActivity"   
android:label="@string/title_activity_main"   
android:screenOrientation="portrait"  
android:windowSoftInputMode="stateHidden|adjustResize"></activity>

下面为一个讲解触摸模式的文章:
http://www.th7.cn/Program/Android/201407/234672.shtml

上一篇下一篇

猜你喜欢

热点阅读