文档章节

Android程序打开和关闭输入法

SRain215
 SRain215
发布于 2016/02/29 14:15
字数 181
阅读 109
收藏 1
点赞 0
评论 0

一、打开输入法窗口:

/**
 * 动态显示软键盘
 *
 * @param context 上下文
 * @param edit    输入框
 */
public static void showSoftInput(Context context, EditText edit) {
	edit.setFocusable(true);
	edit.setFocusableInTouchMode(true);
	edit.requestFocus();
	InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
	inputManager.showSoftInput(edit, 0);
}

 

二、关闭出入法窗口

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.hideSoftInputFromWindow(OpeListActivity.this.getCurrentFocus().getWindowToken(),  InputMethodManager.HIDE_NOT_ALWAYS);
/**
 * 隐藏软键盘
 */
public static void hideKeyboard(Activity c) {
	try {
		InputMethodManager imm = (InputMethodManager) c.getSystemService(Context.INPUT_METHOD_SERVICE);
		imm.hideSoftInputFromWindow(c.getCurrentFocus().getWindowToken(), 0);
	} catch (NullPointerException e) {
		Log.e("hideKeyboard", e.toString());
	}
}

 

三、如果输入法打开则关闭,如果没打开则打开

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

 

四、获取输入法打开的状态

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
boolean isOpen=imm.isActive();  
//isOpen若返回true,则表示输入法打开

 

键盘相关工具类:

KeyboardUtils.java

 

© 著作权归作者所有

共有 人打赏支持
SRain215
粉丝 17
博文 144
码字总数 89414
作品 0
扬州
Android工程师
Android EditText不弹出输入法总结,焦点问题的总结

看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属相:android:windowSoftInputMode=stateVisible,这样就会默认...

带梦想一7飞
2013/07/12
0
0
Android中EditTex焦点设置和弹不弹出输入法的问题

 今天编程碰到了一个问题:有一款平板,打开一个有EditText的Activity会默认弹出输入法。为了解决这个问题就深入研究了下android中焦点Focus和弹出输入法的问题。在网上看了些例子都不够全面...

新年
2015/11/11
0
0
Android中关于键盘的操作

一、打开输入法窗口: InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUTMETHODSERVICE); // 接受软键盘输入的编辑文本或其它视图 imm.showSoft......

董家二少
2014/03/28
0
0
android有用代码片段 1

一、 获取系统版本号: PackageInfo info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0); int versionCode=nfo.versionCode string versionName=info.versionNam 二......

九洲北研
2013/01/24
0
2
Android 输入法键盘和activity页面遮挡问题解决

相信大家在开发时会遇到弹出软键盘后,输入框上移就看不到输入框了,其实只要将Webview放到了ScrollView中,将ScrollView改为LinearLayout问题解决了,不会在弹出软键盘后大幅滚动。不过下面...

红豆与绿豆
2015/10/29
0
0
Window attributes属性详解

以下属性以Dialog为例来讲解: <item name="windowBackground"> 窗体的背景 </item> <item name="windowFrame">Dialog 是否有边框 </item> <item name="windowNoTitle">窗体是否有标题</ite......

TedYin
2013/11/22
0
0
【转】android内存管理机制

android的原理,不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了.安卓Android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系.如果你知道java,...

mj4738
2011/12/22
0
0
Android中的File文件存储及读取file中的Bitmap

今年看了下android的文件存储,大致和java实现差不多 android提供了如下两个方法来打开本应用程序的数据文件的IO流: FileInputStream openFileInput(fileName); //输入流 FileOutputStream...

爱吃橙子的小石头
2014/12/07
0
0
Android xml activity属性详解

例子: <activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:configChan......

恰同学少年
2015/07/28
0
0
EditText自动获取焦点并弹出输入法的问题

1.每次启动新的Activity的时候,输入法总是弹出来,太烦人了。 主要原因就是页面上方有个EditTexit,每次都自动获取焦点。 注意要求是:每次启动新的Activity的时候,EditTexit不要获取到焦点...

九洲北研
2012/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kafka设计解析(一)- Kafka背景及架构介绍

原创文章,转载请务必将下面这段话置于文章开头处。(已授权InfoQ中文站发布) 本文转发自技术世界,原文链接 http://www.jasongj.com/2015/03/10/KafkaColumn1 摘要   Kafka是由LinkedI...

mskk
6分钟前
0
0
使用Service Mesh整合您的微服务架构

在微服务架构的世界中,它正在达到这样的程度,即管理系统的复杂性对于利用它带来的好处变得至关重要。 目前,如何实现这些微服务不再是一个问题,因为有很多可用的框架(Spring Boot,Vert....

xiaomin0322
9分钟前
0
0
看看 LinkedList Java 9

终于迎来了 LinkedList 类,实现的接口就有点多了 Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E>, Queue<E>。LinkedList是一个实现了List接口和Deque接口的双端链......

woshixin
28分钟前
0
0
算法 - 冒泡排序 C++

大家好,我是ChungZH。今天我给大家讲一下最基础的排序算法:冒泡排序(BubbleSort)。 冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大(可以相反),就交换他们两个。 对每...

ChungZH
30分钟前
0
0
jquery ajax request payload和fromData请求方式

请求头的不同 fromData var data = { name : 'yiifaa'};// 提交数据$.ajax('app/', { method:'POST', // 将数据编码为表单模式 contentType:'application/x-ww...

lsy999
32分钟前
0
0
阿里P7架构师,带你点亮程序员蜕变之路

前言: Java是现阶段中国互联网公司中,覆盖度最广的研发语言。 掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,成为Java架...

Java大蜗牛
34分钟前
1
0
Ecstore 在没有后台管理界面(维护)的情况如何更新表的字段

window 系统: 切换到:app\base 目录下: C:\Users\qimh>d: D:\>cd D:\WWW\huaqh\app\base 执行:D:\WWW\huaqh\app\base>cmd update linux 系统: 1># cd /alidata/www.novoeshop.com/app/......

qimh
38分钟前
0
0
设计模式-策略模式

策略模式 解释 对工厂模式的再次封装,使用参数控制上下文信息(将工厂返回的实例赋值给context field) 不会返回bean实例,只是设置对应的条件 调用context的方法(调用field的方法) 用户只...

郭里奥
41分钟前
0
0
python使用有序字典

python自带的collections包中有很多有用的数据结构可供使用,其中有个叫OrderedDict类,它可以在使用的时候记录元素插入顺序,在遍历使用的时候就可以按照原顺序遍历。 a = {"a":1,"b"...

芝麻糖人
今天
0
0
RestTemplate HttpMessageConverter

RestTemplate 微信接口 text/plain HttpMessageConverter

微小宝
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部