1、EditText有焦点(focusable为true)阻止输入法弹出
editText=(EditText)findViewById(R.id.txtBody);
editText.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
editText.setInputType(InputType.TYPE_NULL); // 关闭软键盘
return false;
}
});
2、当EidtText无焦点(focusable=false)时阻止输入法弹出
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
1.调用显示系统默认的输入法
方法一、
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(m_receiverView(接受软键盘输入的视图(View)),InputMethodManager.SHOW_FORCED(提供当前操作的标记,SHOW_FORCED表示强制显示));
方法二、
InputMethodManager m=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); (这个方法可以实现输入法在窗口上切换显示,如果输入法在窗口上已经显示,则隐藏,如果隐藏,则显示输入法到窗口上)
2.调用隐藏系统默认的输入法
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是当前的Activity)
3.获取输入法打开的状态
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
isOpen若返回true,则表示输入法打开
原文:http://sunxin1001.iteye.com/blog/854182
http://getcn.net/index.php?mod=skill&action=detail&id=43978
另外
参数 含义
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN
软键盘直接覆盖Activity,通常这是默认值
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
Activity高度会变化,让出软键盘的空间。和WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN 为2选1的值
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE
Activity一打开就直接显示软键盘窗口,如果该窗口需要的话(即有EditText,或有ditable的控件)
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN
Activity打开后并不直接显示软键盘窗口,直到用户自己touch文本框。
分享到:
相关推荐
在Android开发中,有时会遇到一个常见的问题:当用户在悬浮窗内的EditText输入时,软键盘弹出可能会遮挡住部分视图,导致用户体验下降。本文将深入探讨如何解决这一问题,并实现软键盘与悬浮窗的联动,即软键盘弹出...
然而,当用户在EditText中输入时,如果设备的软键盘弹出,有时会遮挡部分屏幕内容,导致用户无法看到或访问被遮挡的区域。这在手机或平板等小屏幕设备上尤为常见,影响了用户体验。为了解决这个问题,开发者需要掌握...
在Android开发过程中,软键盘(Soft Keyboard)的管理是非常重要的一个环节。合理的软键盘管理不仅能够提升用户体验,还能避免一些布局显示上的问题。本篇文章将详细阐述如何在Android应用程序中关闭软键盘,并通过...
在Android开发中,Dialog是一种常见的用户交互界面,用于显示临时信息或者进行简单的用户操作。而软键盘的管理和显示则是移动应用用户体验的关键因素之一。本文将深入探讨如何在Android中正确处理Dialog与软键盘的...
在Android开发中,用户界面的交互体验至关重要,其中包括如何有效地管理软键盘的显示与隐藏。在某些场景下,我们希望用户在点击EditText之外的任何地方或者点击屏幕空白区域时,能够自动隐藏软键盘,以提供更流畅的...
本资源“安卓EditText输入框相关-edittext失去焦点收起键盘.rar”可能包含了一系列与EditText交互,特别是如何在EditText失去焦点时自动收起软键盘的实践案例。由于无法直接查看压缩包内容,以下将根据常见需求和...
总之,`EditText`是Android开发中的关键组件,用于获取用户输入。理解其基本属性和功能,以及如何在代码中进行交互,对于开发任何需要用户输入的应用都是必不可少的。通过不断实践和探索,开发者可以熟练掌握`...
在Android开发中,当用户在应用中输入时,软键盘的弹出可能会遮挡底部的控件,导致用户体验下降。为了改善这种情况,开发者通常需要实现一个功能,使得底部的视图(如工具栏、按钮等)能够随着软键盘的弹出而上移。...
在Android应用开发中,软键盘的管理是一项关键任务,它涉及到用户输入和界面交互的顺畅性。本资源“Android应用源码之调用中的软键盘.zip”提供了关于如何在Android应用中有效地控制和调用软键盘的源码示例。通过...
在安卓应用开发中,调用Android系统的软键盘是一项常见的任务,尤其在涉及到...以上就是关于在Android开发中调用和管理软键盘的基本知识点,希望对你有所帮助。在实际开发中,还需要根据具体需求进行适当的调整和优化。
在Java中,我们可以使用`InputMethodManager`类来管理软键盘。首先,获取`InputMethodManager`实例: ```java InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); ``...
在Android开发中,`EditText`控件是必不可少的,它用于接收用户输入的数据,比如用户名、密码、电子邮件等。本文将深入探讨`EditText`的使用,包括一些在常见教程中较少涉及的功能。以下是对`EditText`的详尽解析: ...
在 Android 开发中,软键盘相关的其他知识点包括软键盘的显示和隐藏、软键盘的高度和宽度、软键盘的输入法等。例如,使用 `WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN` 可以调整软键盘的显示位置。 实现...
在Android开发中,EditText是用于用户输入文本的基本组件,它在各种用户界面中扮演着重要角色。Material设计语言是Google推出的一种设计规范,旨在提供统一、直观且富有表现力的用户体验。当我们谈论“安卓EditText...
在Android开发中,`EditText`是用户界面中用于接收用户输入文本的重要组件。有时,我们希望用户在完成一个`EditText`的输入后,能够自动跳转到下一个`EditText`进行继续输入,这样的交互设计可以提高用户体验,使得...
在Android开发中,`EditText`控件是必不可少的组件之一,它允许用户输入文本,广泛应用于登录、注册、评论等场景。本篇文章将深入探讨`EditText`的基本使用、属性配置、监听事件以及自定义样式等方面,帮助开发者更...
在Android开发中,`EditText`是一个非常重要的组件,它用于接收用户输入的文本信息,是构建用户界面不可或缺的一部分。在“EditText1.0”这个主题中,我们将深入探讨`EditText`的基本使用、属性配置、事件处理以及...
在Android开发中,`EditText` 是一个非常常见的组件,它用于接收用户输入的文字信息。然而,有时候开发者可能会遇到这样一个问题:`EditText` 的内容在特定条件下或者无故地被自动清空。这个问题可能是由多种原因...
在Android开发中,`EditText` 是一个至关重要的组件,它允许用户输入文本并显示文本内容。这个"android EditText学习程序源码(若水老师)"的资料,显然是一个专门针对`EditText`组件进行深入讲解的教学资源,包含了...