Android软键盘及输入法顶起TabBar的解决方法
2015-12-18 11:51
393 查看
做ListView搜索的时候遇到了这个问题,软键盘总是自动弹出而且把底部的TabBar顶到屏幕中部,这里是两个问题:
1、软键盘顶起TabBar;
2、进入该界面时软键盘自动弹起。
关于问题2,之前遇到过进入一个表单Activity时EditText控件自动获得焦点弹出软键盘,当时的解决方法是在EditText之前加入了一个不可见层来获得焦点:(该方法是解决普通布局中自动弹出软键盘的方法)。
当时的问题能够得到解决,这次的问题在于我的EditText设置的属性inputType="number" ,但是自动弹出的是英文键盘,所以其实不是EditText获得的焦点,是什么不得而知。这个方法没有解决我的问题2。先放起来解决问题一。
再来说问题一,解决方法在网上也找到了很多说法,其实最终只是要在AndroidManifest.xml
设置一下相应activity的android:windowSoftInputMode
这个属性,是设置活动主窗口与软键盘窗口如何交互的问题。
关注两个属性值:
"stateHidden" :当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
"adjustPan" : 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。
如果只是出现软键盘顶起的情况,下面的代码应该能够解决问题:
如果像我一样同时遇到这两个问题,那就要用下面的属性了:
1、软键盘顶起TabBar;
2、进入该界面时软键盘自动弹起。
关于问题2,之前遇到过进入一个表单Activity时EditText控件自动获得焦点弹出软键盘,当时的解决方法是在EditText之前加入了一个不可见层来获得焦点:(该方法是解决普通布局中自动弹出软键盘的方法)。
<LinearLayout android:layout_width="0px" android:layout_height="0px" android:focusable="true" android:focusableInTouchMode="true" />
当时的问题能够得到解决,这次的问题在于我的EditText设置的属性inputType="number" ,但是自动弹出的是英文键盘,所以其实不是EditText获得的焦点,是什么不得而知。这个方法没有解决我的问题2。先放起来解决问题一。
再来说问题一,解决方法在网上也找到了很多说法,其实最终只是要在AndroidManifest.xml
设置一下相应activity的android:windowSoftInputMode
这个属性,是设置活动主窗口与软键盘窗口如何交互的问题。
关注两个属性值:
"stateHidden" :当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
"adjustPan" : 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。
如果只是出现软键盘顶起的情况,下面的代码应该能够解决问题:
android:windowSoftInputMode="stateVisible|adjustPan"
如果像我一样同时遇到这两个问题,那就要用下面的属性了:
android:windowSoftInputMode="adjustPan|stateHidden"
相关文章推荐
- Android桌面组件播放器
- Android Studio的基本设置和常用快捷键(Mac 版)
- TweenAnimation 渐变动画
- Android之ListView和ScrollView事件冲突
- Android layout_weight 属性解密
- 直接拿来用!最火的Android开源项目(完结篇)
- 直接拿来用!最火的Android开源项目(二)
- Where can i download Android & iOS source code of TI BLE Multitool
- Android弹性滑动
- 直接拿来用!最火的Android开源项目(一)
- Android studio No executable code found 断点不可用
- android中自定义view---实现竖直方向的文字功能,文字方向朝上,同时提供接口,判断当前touch的是哪个字符,并改变颜色
- Android studio使用过程中遇到的问题
- Android Call_01_basic
- android usb accessory
- Android Studio 使用 Gradle 打包 Jar
- MAC Android Studio 快捷键
- Android图形图像处理:canvas的save()和restore()函数详解
- 如何删除Android-studio中的整个项目
- 一、初识Android世界