Android-在同一个Activity上同时使用adjustResize和adjustPan

3
我正在开发一款聊天应用程序,其中包含聊天背景图片和默认键盘。当我使用背景图片时,它会缩小,但是当我使用 android:windowSoftInputMode="adjustResize" 时,它可以完美地工作。但是键盘会隐藏输入框,如果我使用 android:windowSoftInputMode="adjustPan",键盘可以完美地显示,但是图片会缩小。如何在单个活动中同时使用这两个选项?
如果我在清单中使用这两个选项,输入框将被隐藏。 enter image description here

1
尝试使用 android:windowSoftInputMode="adjustPan|adjustResize" - M D
1
我已经尝试过了,它只显示了一个功能。 - Jaichander
另一种方法是当您的软键盘打开时,对布局进行填充。 - M D
感谢您的快速回复。 - Jaichander
你找到了可行的解决方案吗? - Vucko
2个回答

3
我曾遇到过同样的问题,我通过在需要时以编程方式设置调整设置来解决它。
以下是代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

并且

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

2
根据文档,以下内容不能组合使用:

android:windowSoftInputMode=["stateUnspecified", "stateUnchanged", "stateHidden", "stateAlwaysHidden", "stateVisible", "stateAlwaysVisible", "adjustUnspecified", "adjustResize", "adjustPan"]

设置必须是以下表中列出的值之一,或者是一个“state…”值和一个“adjust…”值的组合。在任何一组中设置多个值(例如多个“state…”值)将导致未定义的结果。各个值由垂直线(|)分隔。例如:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接