Android基础总结–软键盘windowSoftInputMode

一年多时间以来,一直在学习,去从来疏于整理,搞得知识点好凌乱,是时候开始做个总结啦,一步步来,从基础深入吧。

今天就讲解Android的软键盘windowSoftInputMode属性:其中有adjustXX共5个合stateXX共6个;加起来就是10个;

20160520对于前些日子里说到的(使用纵向滑动会对键盘显示模式的影响其实错了,由于经验的不在再次做出修改,

其实是有可滑动控件就会对键盘显示模式造成影响

adjustXX这一系列的属性在测试中发现是通过调整窗体/窗体里面的某些属性来显示软件盘的。注意:这一系列模式只在

有输入必要的时候才会弹出软键盘

adjustResize:activity总是会被调整大小,来确保软键盘可以显示出来,并且不一定关心当前焦点

和输入内容是否可见,activity被打开的时候会默认第一个EditText获得焦点,弹出键盘;其中:

1、当前activity没有使用滑动的控时候,如果获取焦点的EditText在软键盘弹出可以覆盖的地方时候,当前activity

会把调整大小留出足够软键盘显示的空间,然而当前焦点和输入内容是无法看到的,如图:

 

Android基础总结--软键盘windowSoftInputMode

adjustPan:当前activity不是通过调整activity大小来确保软键盘的显示,而是通过调整布局确保获得焦点和输入内容是可见的,

打开activity的时候默认第一个edittext获得焦点,但是软键盘不会自动打开;

1、当没有纵向滚动布局的时候,会把当前焦点以上的布局顶上去,来确保焦点可见;

2、当用有纵向滚动布局的时候,会把当前焦点以上的布局顶上去,并且有时可以通过滑动来看到上面的布局有时可以通过滑动来看到

焦点一下的布局(这是我用小米测试的效果);

如图:第一个没有滚动布局,第二,三个有滚动布局(第二张是可以向上滑,第三张可以向下滑)

Android基础总结--软键盘windowSoftInputMode  

Android基础总结--软键盘windowSoftInputMode

stateAlwaysVisible这个模式不管什么情况对话强行弹出软件盘,不管是否有输入框,而且如果跳转到下个界面

的时候,下个界面没有输入框,软键盘也不会消失,也就是说它的作用不仅仅在当前页面的

stateUnchanged:这个模式就是对软键盘的状态不做改变,如果在上一个/下一个界面中软件是什么状态,到了当前

界面仍然保留过去的界面的软键盘状态,隐藏的继续隐藏,显示的继续显示

stateUnspecified:从字面意思来看就是没有指定,默认情况下使用这种方法来作交互,如果当前界面没有输入必要

(没有输入控件)或者说有输入控件但没有滚动控件的时间,软键盘就会不显示,如果两个条件都满足的话就显示

软键盘。

若有其他的看法或是更加准确的理解,请指点

来源:风_z

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年3月13日
下一篇 2016年3月13日

相关推荐