解决Android软键盘弹出引起的各种不适
【解决Android软键盘弹出引起的各种不适】在做输入信息页面的时候,经常会遇到键盘挡住输入框或者将一些控件顶起的情况,android为此提供了一系列的的配置参数供选择,可以在androidmanufist.xml的对应Activity的windowSoftInputMode属性中进行配置:
文章图片
参数意思如下:
属性值 |
说明 |
stateUnspecified |
软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置。 |
stateUnchanged |
当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示。 |
stateHidden |
用户选择activity时,软键盘总是被隐藏。 |
stateAlwaysHidden |
当该Activity主窗口获取焦点时,软键盘也总是被隐藏的。 |
stateVisible |
软键盘通常是可见的。 |
stateAlwaysVisible |
用户选择activity时,软键盘总是显示的状态。 |
adjustUnspecified |
【默认设置】通常由系统自行决定是隐藏还是显示。 |
adjustResize |
该Activity总是调整屏幕的大小以便留出软键盘的空间。 |
adjustPan |
当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。 |
adjustNothing |
|
英语好的同学看官方文档:
Android : windowSoftInputMode
How the main window of the activity interacts with the window containing the on-screen soft keyboard. The setting for this attribute affects two things:
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。这个属性的设置能影响两件事情:
- The state of the soft keyboard — whether it is hidden or visible — when the activity becomes the focus of user attention.
- The adjustment made to the activity's main window — whether it is resized smaller to make room for the soft keyboard or whether its contents pan to make the current focus visible when part of the window is covered by the soft keyboard.
- 当有焦点产生时,软键盘是隐藏还是显示。
- 是否减少活动主窗口大小以便腾出空间放软键盘。
The setting must be one of the values listed in the following table, or a combination of one "state..." value plus one "adjust..." value. Setting multiple values in either group — multiple "state..." values, for example — has undefined results. Individual values are separated by a vertical bar (|).
它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。
For example(例如):
Values set here (other than " stateUnspecified " and " adjustUnspecified ") override values set in the theme.
在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值。
文章图片
This attribute was introduced in API Level 3.
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- android第三方框架(五)ButterKnife
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- android|android studio中ndk的使用
- 松软可口易消化,无需烤箱超简单,新手麻麻也能轻松成功~