@Tyhj
2017-02-24T18:41:47.000000Z
字数 695
阅读 2836
Android
本文固定链接:https://www.zybuluo.com/Tyhj/note/666212
Andrid开发的时候遇到一个问题,当EditText获取焦点弹出键盘的时候,导致整个布局的背景发生变形。
解决方案:
//在onCreate方法中加入以下代码
getWindow().setBackgroundDrawableResource(R.mipmap.chat_bg);
//在AndroidManifest的该Activity下配置如下
android:windowSoftInputMode="adjustResize"
关于windowSoftInputMode
属性 | 解释 |
---|---|
stateUnspecified | 软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置 |
stateUnchanged | 当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 |
stateHidden | 用户选择activity时,软键盘总是被隐藏 |
stateAlwaysHidden | 当该Activity主窗口获取焦点时,软键盘也总是被隐藏的 |
stateVisible | 软键盘通常是可见的 |
stateAlwaysVisible | 用户选择activity时,软键盘总是显示的状态 |
adjustUnspecified | 默认设置,通常由系统自行决定是隐藏还是显示 |
adjustResize | 该Activity总是调整屏幕的大小以便留出软键盘的空间 |
adjustPan | 当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分 |