android如何调用显示和隐藏系统默认的输入法(一)

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,则表示输入法打开

1、//隐藏软键盘

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

2、//显示软键盘,控件ID可以是EditText,TextView

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控件ID, 0);

3、不自动弹出键盘:

带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘,如果不想自动弹出键盘,有两种方法:

方法一:在mainfest文件中把对应的activity设置

android:windowSoftInputMode="stateHidden" 或者android:windowSoftInputMode="stateUnchanged"。

方法二:可以在布局中放一个隐藏的TextView,然后在onCreate的时候requsetFocus。

注意TextView不要设置Visiable=gone,否则会失效
,可以在布局中放一个隐藏的TextView,然后在onCreate的时候requsetFocus。
注意TextView不要设置Visiable=gone,否则会失效

1 <TextView
2         android:id="@+id/text_notuse"
3         android:layout_width="wrap_content"
4         android:layout_height="wrap_content"
5         android:focusable="true"
6 android:focusableInTouchMode="true"  />
7
8 TextView textView = (TextView)findViewById(R.id.text_notuse);
9 textView.requestFocus();
时间: 2024-08-05 02:35:11

android如何调用显示和隐藏系统默认的输入法(一)的相关文章

android如何调用显示和隐藏系统默认的输入法

1 /** * 调用输入法 */ protected void showInput() { // TODO Auto-generated method stub //如果是1将会 得到输出getStackTrace Log.i(getClass().getSimpleName(), Thread.currentThread().getStackTrace()[2].getMethodName()); InputMethodManager imm=(InputMethodManager) getS

Jquery显示与隐藏input默认值的实现代码

本文介绍下,用Jquery实现显示或隐藏html页面中的Input值的方法,通过一个具体的例子,帮助大家的理解,有需要的朋友参考下吧. 代码如下(需要引入外部Jquery文件,本例为jquery-1.7.1.min.js): 代码示例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt

Android输入密码时显示与隐藏

在登录或者注册的时候,有些软件中,需求要求密码可以查看和隐藏,其实实现起来也很简单. 首先定义布局: <LinearLayout android:layout_width="fill_parent" android:layout_height="50.0dip" android:layout_marginLeft="15dip" android:layout_marginRight="15dip" android:bac

Mac显示和隐藏系统的隐藏文件

显示 Mac 隐藏文件的命令: defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏 Mac 隐藏文件的命令: defaults write com.apple.finder AppleShowAllFiles -bool false

【转】 Android 手动显示和隐藏软键盘

1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) 1 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 2 imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示) 1 InputMethodManager

Android 手动显示和隐藏软键盘

转:http://blog.csdn.net/h7870181/article/details/8332991 1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(vie

android 手动显示与隐藏软键盘HIDE_NOT_ALWAYS

1.方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示) [java] view plaincopyprint? InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制

android系统中,点击EditText时,隐藏系统软键盘,显示光标

因为项目中要用自定义的随机键盘,所以必须得屏蔽系统软键盘,但是在4.0的测试系统来看,使用editText.setInputType(InputType.TYPE_NULL)方法固然能隐藏键盘,但是光标也会隐藏,所以无法使用. 3.0以下版本可以用editText.setInputType(InputType.TYPE_NULL)来实现.或者设置editText.setKeyListener(null)来实现.3.0以上版本除了调用隐藏方法setShowSoftInputOnFocus(fals

Android状态栏微技巧,动态控制状态栏显示和隐藏

记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解. 其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的.因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法.而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字. 比如之前就有一个QQ群友问过我