Android软键盘解决方案

一、在android开发中,肯定会和手机软键盘打交道,当我们不做任何处理的时候,android手机软键盘出现会把原来的布局给顶上去,有的时候我们并不需要这样的效果对吧?

此篇文章就是解决这个而生的!

解决方法,在清单文件中,对所在Activity加以下属性:

<activity android:name=".activity.HomeActivity" android:windowSoftInputMode="adjustPan|stateHidden" ></activity>

有了这个属性,就不会将原来Activity的布局给顶上去了。


二、在很多APP的首页中,首页头部都会有一个搜索条,然后下面用列表显示搜索结果,底部是几个tab选项卡,如果不做什么设置的话,我们点击搜索框输入文字的时候回弹出软键盘,软键盘弹出来的同时,会把底部的tab键拉到屏幕上面,界面显示扭曲,如何解决?

解决方案,在对应的Activity中添加Android:windowSoftInputMode这个属性:

活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:

1、软键盘的状态--是否它是隐藏或显示--当活动Activity成为用户关注的焦点

2、活动的主窗口调整--是否减少活动主窗口大小一遍腾出空间放软键盘或是否活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的


值描述:

"stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。这个是为了软件盘行为默认的设置。
 
"stateUnchanged" 软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时。
 
"stateHidden" 当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
 
"stateAlwaysHidden" 软键盘总是被隐藏的,当该Activity主窗口获取焦点时。
 
"stateVisible" 软键盘是可见的,当那个是正常合适的时(当用户导航到Activity主窗口时)。
 
"stateAlwaysVisible" 当用户选择这个Activity时,软键盘是可见的——也就是,也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
 
"adjustUnspecified" 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。
 
"adjustResize" 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间。
 
"adjustPan" 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值