只要在百度输入android 软键盘,你就能得到很多关于显示与隐藏的结果,但有些说得不很明白,我就按自己理解的和测试出来的结果分析一下:

1,Eidtext这个控件默认是你点击了它获得焦点之后就会自动地弹出软键盘,前提是你在竖屏的时候。但横盘的时候,不会自动弹出弹出软键盘了。
模拟器横屏时默认是打开了键盘的所以就算你用代码来显示软键盘也是显示不出来的,而像真实的手机(有物理键盘(硬件盘)比如G1)就不一样了。可以通过sensor来把画面横屏而并没正在的将键盘打开时就可以通过代码来显示软键盘了。

2,问题在通过代码来使得软键盘显示与隐藏时可以写在某控件的onClick事件里来或者用timer来控制,若你直接在onCreate或onResume里面是不行的,从网上找来的理由说是:软件盘是要在所有view画完才能显示的。第一种情况:
@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();InputMethodManager im = ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE));im.showSoftInput(tv, 0);}}
第二种情况:
tv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubInputMethodManager im = ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE));if (im.showSoftInput(tv, InputMethodManager.SHOW_FORCED)) {System.out.println(" return is true fullscreenmode"+ im.isFullscreenMode());} else {System.out.println(" return is not true");}}});


3,自定义软键盘的Enter键
转自:http://dai-lm.iteye.com/blog/410370

SDK升级到1.5以后,当文本输入框(EditText及其子类)获得焦点后,会弹出系统自带的软键盘
为了实现一些自定义的功能,就稍微研究了下

* 当layout中有多个EditText,把每个控件的android:singleLine的属性都被设置成true的情况下,软键盘的Enter键上的文字会变成“Next”,按下后下个EditText会自动获得焦点(实现了“Next”的功能);当最后一个控件获得焦点的时候,Enter键上的文字会变成“Done”,按下后软键盘会自动隐藏起来

* 把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框

更多相关文章

  1. 滑轮控件研究二、GestureDetector的深入研究
  2. android 系统隐藏和显示虚拟按键的几种方法(不要太详细了)
  3. android中角标的实现
  4. Android状态栏右侧添加图标并控制其显示状态
  5. Android快速自定义控件+实战演示(三)完整键盘和组合回调!
  6. Android输入控件详解
  7. Android(安卓)实现形态各异的双向侧滑菜单 自定义控件来袭
  8. 应用开发笔记 2011年10月28日 Android(安卓)使用动画效果后的控
  9. android5.06.0新控件

随机推荐

  1. JavaME无法满足Android,只有设计 Dalvik
  2. Android(安卓)性能优化之使用MAT分析内存
  3. Android实现数据存储技术
  4. android service
  5. android启动加速
  6. 如何在电脑上安装模拟器体验Android(安卓
  7. 错误ava.lang.RuntimeException: Unable
  8. Android(安卓)蓝牙开发
  9. android 常见面试题以及答案
  10. Android近场通信---NFC基础(五)