Android编程实现点击EditText之外的控件隐藏软键盘功能
作者:_iorilan 发布时间:2022-08-07 02:06:08
标签:Android,控件,软键盘
本文实例讲述了Android编程实现点击EditText之外的控件隐藏软键盘功能。分享给大家供大家参考,具体如下:
工具类
...
public static void hideKeyboard(Context ctx) {
if (ctx != null) {
View view = ((Activity) ctx).getCurrentFocus();
if (view != null) {
InputMethodManager inputManager = (InputMethodManager) ctx
.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
点击除EDITTEXT之外的控件隐藏软键盘,如果是viewgroup控件,递归执行
public static void setupUI(View view, final Context ctx) {
//Set up touch listener for non-text box views to hide keyboard.
if(!(view instanceof EditText)) {
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
hideKeyboard(ctx);
return false;
}
});
}
//If a layout container, iterate over children and seed recursion.
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
View innerView = ((ViewGroup) view).getChildAt(i);
setupUI(innerView, ctx);
}
}
}
...
}
调用时只需要传递最外层的layout即可。
UtilApp.setupUI((RelativeLayout) findViewById(R.id.login_parent), mContext);
希望本文所述对大家Android程序设计有所帮助。
0
投稿
猜你喜欢
- 这里主要介绍的是优先队列的二叉堆Java实现,代码如下:package practice;import edu.princeton.cs.a
- 前言:由于项目需求,短信验证码的接口需要换成阿里大于的,但是尴尬的发现阿里大于的jar包没有maven版本的,于是便开始了一上午的 * 引包之
- 一个项目中需要使用两个数据库,Oracle 和Mysql,于是参考各个blog,实现此功能。写好后才发现,原来的事务失效了,我去...spr
- 一、return语句执行顺序finally语句是在return语句执行之后,return语句返回之前执行的package exception
- 利用 Spring 工厂加载机制,实例化 ApplicationListener 实现类,并排序对象集合创建应用事件 * 创建类实现接口Ap
- springcloud微服务包含的技术种类众多,eureka作为其注册中心,一直处于主流,但在今年已经处于永久停更状态,但其优秀的能力还是值
- 正文 #方法一:使用string.Contains方法string.Contains是大小写敏感的,如果要用该方法来判断一个str
- 下文我们介绍两种双击事件拦截的方式1.通过Android的事件分发机制进行拦截(dispatchTouchEvent)话不多说,直接上代码:
- 会话技术会话:一次会话中包含多次请求和响应。一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止功能:在一次会话的范围内
- // 获取国家省市区信息$(document).ready(function(){//从程序
- 1.editplus1.1 官方下载https://www.editplus.com/官方下载最新的64位2 .解压就可以使用2.1 vsc
- 应用场景:当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退给买家,微信支付将在收到退款请求并且验证
- import java.io.UnsupportedEncodingException;import java.security.Inval
- 如果项目中使用到了MyBatis框架,那么使用通用Mapper和PageHelper分页插件将极大的简化我们的操作。通用Mapper可以简化
- idea无法切换分支报错idea拉取项目后,master分支配置完项目基础配置后,生成.iml等文件不受git管理后无法检出其他分支报错如下
- Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍四种常用网络请求方式,我这边是通过Android单元测试来完
- 需求基于MTK8163 8.1平台定制导航栏部分,在左边增加音量减,右边增加音量加思路需求开始做之前,一定要研读SystemUI Navig
- 方法1:import java.net.HttpURLConnection;import java.net.URL;import org.j
- javabean与map的转换有很多种方式,比如:1、通过ObjectMapper先将bean转换为json,再将json转换为map,但是
- Vector的基本介绍1.:Vector类的定义:public class Vector<E> ext