Android 软键盘弹出底部变形问题解决方案

Activity中包含EditText自动弹出软键盘,然后会发现Acticity底部会强行压缩至软件盘上方造成变形。

解决办法是在A Activity的AndroidManifest中加入windowSoftInputMode属性,将windowSoftInputMode属性设置为adjustPan即可。

android:windowSoftInputMode="adjustPan"

案例:

 <activity android:name=".MainActivity"
            android:windowSoftInputMode="adjustPan|stateAlwaysHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

 

附windowSoftInputMode的各个属性含义:


1. stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置


2. stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示


3. stateHidden:用户选择activity时,软键盘总是被隐藏


4. stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的


5. stateVisible:软键盘通常是可见的


6. stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态


7. adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示


8. adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

 

9. adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

posted @   大空白纸  阅读(549)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示