我有三个编辑文本字段.在这些字段中,我想仅为第一个字段显示软输入键盘,而在后两个字段中禁用这些字段,这些是日期和时间字段.

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软键盘(如果已打开)相关推荐

  1. android 华为底部虚拟键盘隐藏,Android隐藏手机底部虚拟按键的方法

    现在的Android手机有好多底部带虚拟按键,比如华为.nexus.魅族等等,一般情况下对APP没啥影响,但是有时候就必须要强制隐藏. 例如:游戏的时候,拍照的时候. 接下来加上几个方法就OK 了,代 ...

  2. dialog框dismiss之后,键盘隐藏之后,键盘再次弹起的问题

    0. 问题描述 今天在做项目时,发现一个问题:就是自定义dialog框中,有edittext.在dialog dismiss之后,键盘会再次弹起. 就像这样: 这是什么奇奇怪怪的bug? 1. 错误示 ...

  3. 计算机管理咂打开,资源管理器/文件夹,突然自动打开,无法缩小或关闭,之前已打开运行...

    满意答案 yvette刘艳玲 2016.12.17 采纳率:45%    等级:7 已帮助:457人 1)如果您说的是开机时这样的,开机后不要马上操作,因为电脑开机时后台正在加载程序,稍等会在操作.如 ...

  4. Android获取软键盘的高度、键盘的打开与关闭、监听键盘处于打开还是关闭状态

    最近在项目中,需要获取到软键盘的高度,再将底部的布局上移键盘的高度,话不多说,直接上代码: 获取软键盘高度 //一个静态变量存储高度public static int keyboardHeight = ...

  5. Android软键盘隐藏,遮挡EidtText解决办法

    一.自动弹出软键盘 Timer timer=new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodM ...

  6. 打开页面默认弹出软键盘,同时兼容iOS和Android

    // 示例1 open_soft_keyboard({input: "#username" }); // 示例2 open_soft_keyboard({input: 'input ...

  7. Android常见公有方法(隐藏虚拟按键/隐藏软键盘/获取屏幕宽高等)

    隐藏虚拟按键,并且全屏 使用: ScreenUtils.hideBottomUIMenu(getWindow().getDecorView()); /*** 隐藏虚拟按键,并且全屏*/public s ...

  8. android 键盘隐藏监听,安卓监听软键盘弹出与隐藏的两种方法

    需求: 现在有一个需求是点击一行文本框,弹出一个之前隐藏的输入框,输入完成后按返回键或者其他的东西隐藏键盘和输入框,将输入框的内容填充到文本框中. 实现: 拿到这个需求的第一反应就是写一个监听来监听键 ...

  9. android隐藏软键盘方法,Android显示和隐藏软键盘方法

    InputMethodManager类 Android中软键盘的管理主要是通过InputMethodManager类来完成的. InputMethodManager对象的获取方法如下: 获取到Inpu ...

  10. android隐藏软键盘方法,Android使用InputMethodManager显示和隐藏软键盘

    Android主要用InputMethodManager来对软键盘进行管理.手动显示或隐藏软键盘前需要先获取InputMethodManager. InputMethodManager imm = ( ...

最新文章

  1. java 常量pi_JAVA的常量
  2. 有关软件开发中的一些想法
  3. 修改Windows 7默认的软件安装路径
  4. 什么是servlet?servlet的作用?——计算机网络系列学习笔记
  5. 第16讲 用户程序的结构与执行
  6. 图像拼接2 特征匹配
  7. django-模板的继承
  8. ModuleNotFoundError: No module named ‘keras.api‘
  9. 【十七】文件译文:user.properties (用户配置文件)
  10. mysql密码错误怎么回事_mysql密码错误解决方法
  11. 关于QQ邮箱有时候接受不到邮件的解决
  12. 科学计算机反导按键,backspace是哪个键?最实用按键的大 揭秘
  13. 网络广告中ctr是什么意思
  14. 269个JavaScript工具函数,助你提升工作效率(上)
  15. Linux 磁盘分区(MBR和GPT,loop详细分区方法介绍)
  16. 【软件测试】测试员vs测试工程师,你是测试员还是测试工程师?
  17. 【华人学者风采】马帅 北京航空航天大学
  18. 【小工具】- Ubuntu如何查看cpu支持的指令集
  19. 来说说datatype
  20. Powell算法、Powell修正算法_matlab仿真

热门文章

  1. 步步深入:MySQL 架构总览->查询执行流程->SQL 解析顺序(转)
  2. 英特尔收购Barefoot背后的逻辑
  3. 站内优化第一篇:页面标签对于网站SEO的重要性
  4. 计算机在段前加项目符号,word中给段落添加项目符号的方法
  5. java中单元测试ut怎么写_UT单元测试总结基础篇
  6. (六)1609.4协议详解
  7. 蔡康永--说话之道(一)
  8. Si512 支持 NFC 协议超低功耗检卡能非接触式读卡芯片
  9. 手机版中国银联php,中国银联手机移动支付接口,php语言,在ecshop,shopex等的wap版本上完美实现移动支付...
  10. php文件档结构图,ecshop文件结构名称详细版