关于Android系统软键盘

来源:互联网 发布:仙剑4for mac打不开 编辑:程序博客网 时间:2024/05/19 18:42

Android系统的软键盘属性,我们可以在清单文件中的activity的android:windowSoftInputMode属性上设置,同时也可一再代码中动态设置,Activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)。


windowSoftInputMode的属性有很多,不同属性效果也不一样,并且可以同时设置多个属性。下面一一列举出来:


stateUnspecified:软键盘的状态没有被指定,默认的设置。

stateHidden:用户进入该activity时,软键盘被隐藏。并非弹栈返回时。

stateAlwaysHidden软键盘总是被隐藏,除非主动获取焦点,弹出

stateVisible:软键盘可见,与stateHidden相反

stateAlwaysVisible软键盘可见,与stateAlwaysHidden相反

stateUnchanged:保持原来的状态不变


adjustUnspecified:默认设置,activity会选择一种合适的模式来给软键盘预留空间

adjustResize:activity总是被调整屏幕的大小来留出软键盘的空间

adjustPan:焦点不会被键盘覆盖,用户能总是看到输入内容的部分


手动调出、隐藏系统软键盘:

1.获取软键盘Manager

InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

2.判断软键盘的状态

imm.isActive(); 返回值为boolean类型,true为显示,false为隐藏

3.显示软键盘

imm.showSoftInput(v, InputMethodManager.SHOW_FORCED);

4.隐藏软键盘

imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);

5.隐藏或显示

imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS)