android开发:沉浸式状态栏和全屏模式下输入框和软键盘冲突解决方案

本文介绍了在Android开发中遇到的沉浸式状态栏下,输入框被软键盘遮挡的问题及其解决方案。通过在AndroidManifest.xml中设置属性未能达到理想效果,最终通过修改GitHub上的工具类实现当软键盘弹出时,聊天内容上移,保留标题栏可见的优化用户体验的处理方式。

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

最近在做一个聊天界面 ,为了让界面好看点就把界面设成了沉浸式状态栏,然后发现沉浸式状态栏下点击输入框软键盘会把输入框给遮住,打字的时候根本不知道自己打了什么,用户体验很差。

百度了一下说在AndroidManifest.xml的Activity中添加

android:windowSoftInputMode="stateHidden|adjustPan"

得到的效果是:打开软键盘的时候会把输入框顶到软键盘上面,但是同时我们的标题栏也被顶上去看不见了

但我要的效果是 :我打开软键盘的时候聊天内容往上顶,标题栏不动

在github上面找到了个工具类,并且改了一丢丢代码,实现了自己想要的效果:

引用的时候直接在oncreate调用:

SoftHideKeyBoardUtil.assistActivity(this);
/**
 * @Author: david.lvfujiang
 * @Date: 2019/10/10
 * @Describe:
 */
public class SoftHideKeyBoardUtil {
    public static void assistActivity(Activity activity) {
        new SoftHideKeyBoardUtil(activity);
    }

    private Activity activity;
    private View mChildOfContent;
    private 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值