Android关于软键盘弹出遮盖了原来界面的布局控件

转载:来自http://blog.csdn.net/vaecer/article/details/50827072

引言

        软键盘弹出,会遮盖Activity界面的控件。这个问题十分让人头疼。总结下简单的处理方法。

方案

给Activity设置软键盘出现与Activity之间的交互模式:

1.在onCreat中的setContent方法之前写入:
[java]  view plain  copy
  1. getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);  

2.直接在项目的MainFest.xml中该Activity中设置:
[html]  view plain  copy
  1. <activity  
  2.             android:name="com.drain.main.LoginControlActivity"  
  3.             android:windowSoftInputMode="adjustPan"  
  4.             android:screenOrientation="portrait"  
  5.             android:label="@string/app_name" >  
  6.         </activity>  

这样会让屏幕整体上移。如果加上的是 android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。

拓展

windowSoftInputMode各值的含义:

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

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

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

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

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

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

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

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

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


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值