android强行打开软键盘,隐藏Android软键盘(如果已打开)
我有三个编辑文本字段.在这些字段中,我想仅为第一个字段显示软输入键盘,而在后两个字段中禁用这些字段,这些是日期和时间字段.
Edit-Text 1 //Show the keyboard
Edit-Text 2 and 3 //Hide the keyboard
通过使用下面的代码,我可以禁用字段2和3的键盘,但是当用户将焦点放在字段1上时,键盘会出现,但是当用户点击字段2或3时,键盘不会隐藏.尽管字段2或3是首先敲击没有键盘出现.
//Code to disable soft input keyboard
public static void disableSoftInputFromAppearing(EditText editText) {
if (Build.VERSION.SDK_INT >= 11) {
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
editText.setTextIsSelectable(true);
} else {
editText.setRawInputType(InputType.TYPE_NULL);
editText.setFocusable(true);
}
如果软键盘已经打开,如何隐藏它?
解决方法:
//活动
public static void hideSoftKeyboard(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager)activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}
//片段
public void hideSoftKeyboard() {
InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0);
}
//如果编辑文本失去焦点,则隐藏键盘
edTxtMessage.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (isEditable){
v.setFocusable(true);
v.setFocusableInTouchMode(true);
} else {
edTxtMessage.setFocusable(false);
}
return false;
}
});
edTxtMessage.setOnFocusChangeListener(new View.OnFocusChangeListener({
@Override
public void onFocusChange(View view, boolean b) {
if (!b){
hideKeyboard(getContext(), view);
}
}
});
private void hideKeyboard(Context context, View view) {
if (view != null) {
InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
标签:android,keyboard
来源: https://codeday.me/bug/20190722/1502600.html
android强行打开软键盘,隐藏Android软键盘(如果已打开)相关推荐
- android 华为底部虚拟键盘隐藏,Android隐藏手机底部虚拟按键的方法
现在的Android手机有好多底部带虚拟按键,比如华为.nexus.魅族等等,一般情况下对APP没啥影响,但是有时候就必须要强制隐藏. 例如:游戏的时候,拍照的时候. 接下来加上几个方法就OK 了,代 ...
- dialog框dismiss之后,键盘隐藏之后,键盘再次弹起的问题
0. 问题描述 今天在做项目时,发现一个问题:就是自定义dialog框中,有edittext.在dialog dismiss之后,键盘会再次弹起. 就像这样: 这是什么奇奇怪怪的bug? 1. 错误示 ...
- 计算机管理咂打开,资源管理器/文件夹,突然自动打开,无法缩小或关闭,之前已打开运行...
满意答案 yvette刘艳玲 2016.12.17 采纳率:45% 等级:7 已帮助:457人 1)如果您说的是开机时这样的,开机后不要马上操作,因为电脑开机时后台正在加载程序,稍等会在操作.如 ...
- Android获取软键盘的高度、键盘的打开与关闭、监听键盘处于打开还是关闭状态
最近在项目中,需要获取到软键盘的高度,再将底部的布局上移键盘的高度,话不多说,直接上代码: 获取软键盘高度 //一个静态变量存储高度public static int keyboardHeight = ...
- Android软键盘隐藏,遮挡EidtText解决办法
一.自动弹出软键盘 Timer timer=new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodM ...
- 打开页面默认弹出软键盘,同时兼容iOS和Android
// 示例1 open_soft_keyboard({input: "#username" }); // 示例2 open_soft_keyboard({input: 'input ...
- Android常见公有方法(隐藏虚拟按键/隐藏软键盘/获取屏幕宽高等)
隐藏虚拟按键,并且全屏 使用: ScreenUtils.hideBottomUIMenu(getWindow().getDecorView()); /*** 隐藏虚拟按键,并且全屏*/public s ...
- android 键盘隐藏监听,安卓监听软键盘弹出与隐藏的两种方法
需求: 现在有一个需求是点击一行文本框,弹出一个之前隐藏的输入框,输入完成后按返回键或者其他的东西隐藏键盘和输入框,将输入框的内容填充到文本框中. 实现: 拿到这个需求的第一反应就是写一个监听来监听键 ...
- android隐藏软键盘方法,Android显示和隐藏软键盘方法
InputMethodManager类 Android中软键盘的管理主要是通过InputMethodManager类来完成的. InputMethodManager对象的获取方法如下: 获取到Inpu ...
- android隐藏软键盘方法,Android使用InputMethodManager显示和隐藏软键盘
Android主要用InputMethodManager来对软键盘进行管理.手动显示或隐藏软键盘前需要先获取InputMethodManager. InputMethodManager imm = ( ...
最新文章
- java 常量pi_JAVA的常量
- 有关软件开发中的一些想法
- 修改Windows 7默认的软件安装路径
- 什么是servlet?servlet的作用?——计算机网络系列学习笔记
- 第16讲 用户程序的结构与执行
- 图像拼接2 特征匹配
- django-模板的继承
- ModuleNotFoundError: No module named ‘keras.api‘
- 【十七】文件译文:user.properties (用户配置文件)
- mysql密码错误怎么回事_mysql密码错误解决方法
- 关于QQ邮箱有时候接受不到邮件的解决
- 科学计算机反导按键,backspace是哪个键?最实用按键的大 揭秘
- 网络广告中ctr是什么意思
- 269个JavaScript工具函数,助你提升工作效率(上)
- Linux 磁盘分区(MBR和GPT,loop详细分区方法介绍)
- 【软件测试】测试员vs测试工程师,你是测试员还是测试工程师?
- 【华人学者风采】马帅 北京航空航天大学
- 【小工具】- Ubuntu如何查看cpu支持的指令集
- 来说说datatype
- Powell算法、Powell修正算法_matlab仿真
热门文章
- 步步深入:MySQL 架构总览->查询执行流程->SQL 解析顺序(转)
- 英特尔收购Barefoot背后的逻辑
- 站内优化第一篇:页面标签对于网站SEO的重要性
- 计算机在段前加项目符号,word中给段落添加项目符号的方法
- java中单元测试ut怎么写_UT单元测试总结基础篇
- (六)1609.4协议详解
- 蔡康永--说话之道(一)
- Si512 支持 NFC 协议超低功耗检卡能非接触式读卡芯片
- 手机版中国银联php,中国银联手机移动支付接口,php语言,在ecshop,shopex等的wap版本上完美实现移动支付...
- php文件档结构图,ecshop文件结构名称详细版