从一个问题来认识android:windowSoftInputMode属性

本文详细介绍了在Android应用中遇到键盘遮挡按钮问题的原因及解决方法,通过设置`android:windowSoftInputMode`属性,可以有效避免输入法面板遮挡界面元素的问题,确保用户界面的正常交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一个挺奇怪的问题,简单说一下,我一个布局中,上面使用的是一个Scrollview,底部有一个保存的button,Scrollview里面有一个Edittext,其他部分默认是折叠的,点击可以展开,刚进入这个界面的时候,需要让这个EditTXT获得焦点,键盘弹出来,可是那个button并没有在键盘的上面,而是被键盘遮住了,可是如果我要是把这个Scrollview展开后,在点击这个Edittext,保存的button就会自动的顶到键盘的上面。Scrollview展开就可以实现把button顶到上面,Scrollview折叠就不行,我刚开始以为是这个Scrollview在作怪,然后在折叠那部分下面又加了一个默认透明布局,让这个Scrollview高度沾满真个屏幕,可是发现还是不行,后来才知道,是键盘弹出的问题,可以在清单文件中对单独的activity进行键盘弹出的设置,android:windowSoftInputMode=""   就是这个属性。值有几种选项

activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。

各值的含义:

【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

【C】stateHidden:用户选择activity时,软键盘总是被隐藏

【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

【E】stateVisible:软键盘通常是可见的

【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分


可以一次设置多个值的,例如

android:windowSoftInputMode="stateHidden|adjustPan"  如果进入这个界面,键盘没隐藏会自动被隐藏,并且如果要弹出键盘,键盘会把布局顶上去,而不是覆盖上去。


参考:  http://blog.youkuaiyun.com/twoicewoo/article/details/7384398


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值