利用判断view的高度来关闭输入法

本文介绍了一种在特定界面关闭输入法的方法,通过判断scrollView高度变化来决定是否隐藏输入法,适用于不需要弹出输入法的界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发过程中,有些界面是不需要弹出输入法的,所以我们得做个判断来关闭它。

键盘弹出.png 


参考了论坛大神的帖子,自己也写了一个。

代码如下:
?
privatevoid closeKeyboard() {
                // 创建一个静态变量check,用于只获取一次屏幕高度,因为运用在首次运行的时候EditText会获得焦点,并且弹出输入法,我们要获取到那个值。当然这个值只需要获取一次!
                // private static int check = 0;
                // firstTimeViewHeight 第一次运行时候的scrollView的高度
                if(check == 0) {
                        check++;
                        firstTimeViewHeight = scroll.getHeight();
                }
                if(scroll.getHeight() == firstTimeViewHeight)
 
                {
                        // 关闭软键盘的方法
                        ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
                                        .hideSoftInputFromWindow(
                                                        getCurrentFocus().getWindowToken(),
                                                        InputMethodManager.HIDE_NOT_ALWAYS);
                }
        }


代码中scroll 指的是scrollView

第一张.png 


这只是一个思路,请大家根据实际需要来做自己的程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值