文档章节

Android程序打开和关闭输入法

SRain215
 SRain215
发布于 2016/02/29 14:15
字数 181
阅读 113
收藏 1

一、打开输入法窗口:

/**
 * 动态显示软键盘
 *
 * @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 输入法键盘和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

没有更多内容

加载失败,请刷新页面

加载更多

Kali Linux Docker 練習

docker pull kalilinux/kali-linux-docker docker run -t -i kalilinux/kali-linux-docker /bin/bash apt-get update apt-get install htop apt-get install nmap apt-get install wpscan ap......

BaiyuanLab
今天
1
0
通俗大白话来理解TCP协议的三次握手和四次分手

最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就...

onedotdot
今天
2
0
TiDB 在爱奇艺的应用及实践

爱奇艺,中国高品质视频娱乐服务提供者,2010 年 4 月 22 日正式上线,推崇品质、青春、时尚的品牌内涵如今已深入人心,网罗了全球广大的年轻用户群体,积极推动产品、技术、内容、营销等全方...

TiDB
今天
1
0
Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
3
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部