我有一个使用以下方式全屏运行的应用程序:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
正因为这样的布局,android:windowSoftInputMode="adjustResize"
无法正常工作,即它无法调整大小。
有什么办法可以克服这个问题吗?
仅供参考:这是一个现有的 AOSP(Android 开源项目)错误:http://code.google.com/p/android/issues/detail?id=5497 http://code.google.com/p/android/issues/detail?id=5497
理想情况下,这个错误应该得到修复,但在此之前,这里有一些关于如何解决它的想法。由于我不知道这属于什么应用场景,所以这些可能不太适用。
与我对之前答案的最佳解释一致,设计您的布局,以便 adjustmentPan 可以正常工作。我在这里能想到的第一件事是没有任何页眉或页脚在键盘打开时保留在屏幕上。
不要将 FLAG_FULLSCREEN 与可以接受文本输入的布局一起使用。接受输入时显示状态栏可能没什么大不了的。然而,对于使用具有全屏模式的嵌入式输入字段(如网络浏览器)查看内容的东西来说,这根本没有多大意义。
实现您自己的类似调整大小的行为。我不确定这有多好,但您可能可以编写导致显示键盘的类的子类(例如:EditText),您可以在其中跟踪键盘何时显示或接管显示和的调用隐藏键盘(至少覆盖 onKeyUp 和 onTouchEvent)。显示时,调整内容大小 - 可能需要对软输入高度进行最佳猜测,因为用户可以安装不同的软输入方法。我相信这在技术上是困难的,并且在没有极端需要的情况下尝试是不合理的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)