Android监听软键盘弹起隐藏

本文介绍了一种在Android应用中监听键盘弹起和隐藏的方法,通过实现OnLayoutChangeListener接口并结合底部栏位置变化来判断键盘状态,适用于需要根据不同键盘状态调整界面布局的应用场景。

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

在其他地方看到的方法 做一下记录


应用:这里在键盘弹起的时候  右边三个按钮变为一个按钮   隐藏的时候 一个按钮又变回来


第一步

   让需要这个功能的界面实现OnLayoutChangeListener接口

 OnLayoutChangeListener

第二步

   为底部栏绑定该事件:

ll_bottom.addOnLayoutChangeListener(this);

第三步:

  在重写的方法中实现对键盘事件的监听

@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
    
    if (oldBottom != 0 && bottom != 0 && (oldBottom - bottom > 0)) {
        //键盘弹起

    } else if (oldBottom != 0 && bottom != 0 && (bottom - oldBottom > 0)) {
        //键盘隐藏

    }
}

原理:其实就是判断底部栏所处的位置,如果变化后的Y坐标小于变化前的则认为键盘弹起,反之键盘隐藏


如果需求是底部栏不跟随键盘弹起呢?

有人说可以通过监听界面大小的变化来判断键盘的隐藏于显示,这里没有做尝试


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值