`
7090
  • 浏览: 278492 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)Android开发:在EditText中关闭软键盘

阅读更多
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文本框。


分享到:
评论
3 楼 leishengwei 2012-11-16  
u_xtian 写道
jifengyu 写道
楼主你好,我想问一下,我用setInputType(InputType.TYPE_NULL)将软键盘隐藏了,但光标也没了。。。可不可以隐藏软键盘,但光标还在???

我也是遇到这个问题啊!!咋办?

4.0里面有这个问题,2.X里面就是好的,我现在也纠结着呢
2 楼 u_xtian 2012-07-31  
jifengyu 写道
楼主你好,我想问一下,我用setInputType(InputType.TYPE_NULL)将软键盘隐藏了,但光标也没了。。。可不可以隐藏软键盘,但光标还在???

我也是遇到这个问题啊!!咋办?
1 楼 jifengyu 2012-06-21  
楼主你好,我想问一下,我用setInputType(InputType.TYPE_NULL)将软键盘隐藏了,但光标也没了。。。可不可以隐藏软键盘,但光标还在???

相关推荐

    软键盘遮住悬浮窗的EditText、软键盘消失无法监听返回键

    在Android开发中,有时会遇到一个常见的问题:当用户在悬浮窗内的EditText输入时,软键盘弹出可能会遮挡住部分视图,导致用户体验下降。本文将深入探讨如何解决这一问题,并实现软键盘与悬浮窗的联动,即软键盘弹出...

    解决在在Edittext输入的时候,输入框被软键盘遮挡部分内容的问题

    然而,当用户在EditText中输入时,如果设备的软键盘弹出,有时会遮挡部分屏幕内容,导致用户无法看到或访问被遮挡的区域。这在手机或平板等小屏幕设备上尤为常见,影响了用户体验。为了解决这个问题,开发者需要掌握...

    android 关闭软键盘

    在Android开发过程中,软键盘(Soft Keyboard)的管理是非常重要的一个环节。合理的软键盘管理不仅能够提升用户体验,还能避免一些布局显示上的问题。本篇文章将详细阐述如何在Android应用程序中关闭软键盘,并通过...

    Android Dialog与软键盘的正确打开方式

    在Android开发中,Dialog是一种常见的用户交互界面,用于显示临时信息或者进行简单的用户操作。而软键盘的管理和显示则是移动应用用户体验的关键因素之一。本文将深入探讨如何在Android中正确处理Dialog与软键盘的...

    安卓点击空白区域和点击Editext以外的地方隐藏软键盘

    在Android开发中,用户界面的交互体验至关重要,其中包括如何有效地管理软键盘的显示与隐藏。在某些场景下,我们希望用户在点击EditText之外的任何地方或者点击屏幕空白区域时,能够自动隐藏软键盘,以提供更流畅的...

    安卓EditText输入框相关-edittext失去焦点收起键盘.rar

    本资源“安卓EditText输入框相关-edittext失去焦点收起键盘.rar”可能包含了一系列与EditText交互,特别是如何在EditText失去焦点时自动收起软键盘的实践案例。由于无法直接查看压缩包内容,以下将根据常见需求和...

    Android学习笔记六:基本视图组件:EditText

    总之,`EditText`是Android开发中的关键组件,用于获取用户输入。理解其基本属性和功能,以及如何在代码中进行交互,对于开发任何需要用户输入的应用都是必不可少的。通过不断实践和探索,开发者可以熟练掌握`...

    Android 设置一个底部控件view随着软键盘的弹出而上移

    在Android开发中,当用户在应用中输入时,软键盘的弹出可能会遮挡底部的控件,导致用户体验下降。为了改善这种情况,开发者通常需要实现一个功能,使得底部的视图(如工具栏、按钮等)能够随着软键盘的弹出而上移。...

    Android应用源码之调用中的软键盘.zip

    在Android应用开发中,软键盘的管理是一项关键任务,它涉及到用户输入和界面交互的顺畅性。本资源“Android应用源码之调用中的软键盘.zip”提供了关于如何在Android应用中有效地控制和调用软键盘的源码示例。通过...

    安卓开发-调用Android中的软键盘.zip

    在安卓应用开发中,调用Android系统的软键盘是一项常见的任务,尤其在涉及到...以上就是关于在Android开发中调用和管理软键盘的基本知识点,希望对你有所帮助。在实际开发中,还需要根据具体需求进行适当的调整和优化。

    AndroidEditTextKeyboardHidden:Android EditText 键盘隐藏

    在Java中,我们可以使用`InputMethodManager`类来管理软键盘。首先,获取`InputMethodManager`实例: ```java InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); ``...

    Android EditText使用详解-包含很多教程上看不到的功能演示

    在Android开发中,`EditText`控件是必不可少的,它用于接收用户输入的数据,比如用户名、密码、电子邮件等。本文将深入探讨`EditText`的使用,包括一些在常见教程中较少涉及的功能。以下是对`EditText`的详尽解析: ...

    Android编程实现点击EditText之外的控件隐藏软键盘功能

    在 Android 开发中,软键盘相关的其他知识点包括软键盘的显示和隐藏、软键盘的高度和宽度、软键盘的输入法等。例如,使用 `WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN` 可以调整软键盘的显示位置。 实现...

    安卓EditText输入框相关-material风格的edittext效果很不错。.rar

    在Android开发中,EditText是用于用户输入文本的基本组件,它在各种用户界面中扮演着重要角色。Material设计语言是Google推出的一种设计规范,旨在提供统一、直观且富有表现力的用户体验。当我们谈论“安卓EditText...

    EditText焦点的自动跳转

    在Android开发中,`EditText`是用户界面中用于接收用户输入文本的重要组件。有时,我们希望用户在完成一个`EditText`的输入后,能够自动跳转到下一个`EditText`进行继续输入,这样的交互设计可以提高用户体验,使得...

    Android EditText 控件例子

    在Android开发中,`EditText`控件是必不可少的组件之一,它允许用户输入文本,广泛应用于登录、注册、评论等场景。本篇文章将深入探讨`EditText`的基本使用、属性配置、监听事件以及自定义样式等方面,帮助开发者更...

    EditText1.0

    在Android开发中,`EditText`是一个非常重要的组件,它用于接收用户输入的文本信息,是构建用户界面不可或缺的一部分。在“EditText1.0”这个主题中,我们将深入探讨`EditText`的基本使用、属性配置、事件处理以及...

    android自动清空edittext111

    在Android开发中,`EditText` 是一个非常常见的组件,它用于接收用户输入的文字信息。然而,有时候开发者可能会遇到这样一个问题:`EditText` 的内容在特定条件下或者无故地被自动清空。这个问题可能是由多种原因...

    android EditText学习程序源码(若水老师)

    在Android开发中,`EditText` 是一个至关重要的组件,它允许用户输入文本并显示文本内容。这个"android EditText学习程序源码(若水老师)"的资料,显然是一个专门针对`EditText`组件进行深入讲解的教学资源,包含了...

Global site tag (gtag.js) - Google Analytics