繁体   English   中英

android:windowSoftInputMode =” stateAlwaysHidden | adjustPan”不适用于所有设备

[英]android:windowSoftInputMode=“stateAlwaysHidden|adjustPan” doesnt work on all devices

和很多人一样,我遇到了软输入覆盖发送按钮的问题,因此我进行了一些搜索,发现解决此问题的可接受方法是"android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

这在我的设备上效果很好,但是当我在女朋友的手机上尝试时,它不起作用。 在输入出现在屏幕上之前,我看到对话框抬起了一点,但是并没有太多,并且仍然覆盖了发送按钮。 为什么这可以在某些设备上运行,但不能在所有设备上运行?

屏幕上的键盘很难充其量,因为一方面:

它应该在用户期望的位置,这是一致的,在UI设计中非常重要

它可能会妨碍您。

解决方案(基于Android设计准则,经验和反馈等)不会太在意它,您基本上可以有以下几种行为:

*活动开始时弹出(如果活动有输入,就会发生)

*当活动开始时(尽管第一个输入的焦点<-好)不会弹出,但是在用户点击时会弹出。

最好在用户完成操作后关闭键盘,那就是让“输入按钮”将它们带到下一个条目;如果没有剩下的,请将其隐藏起来;如果它是某种数据捕获形式,可以随着使用进行验证,如果不是这样,请不要这样做,因为他们可能会后退以尝试将其抬起。

附录一

“adjustResize”

活动的主窗口始终会调整大小,以便为屏幕上的软键盘腾出空间。

“adjustPan”

活动的主窗口未调整大小以为软键盘腾出空间。 而是,窗口的内容会自动平移,以使当前焦点不会被键盘遮挡,并且用户始终可以看到他们正在键入的内容。 通常,这不如调整大小那么可取,因为用户可能需要关闭软键盘才能到达窗口的模糊部分并与之交互。

从此处的文档中: http : //developer.android.com/guide/topics/manifest/activity-element.html

android中adjustResize和adjustPan之间的区别?

看到更多。

很难正确平移,因为该活动的布局可以有很多东西,它可以向左滚动,都可以是相对的,不是只需要向上和向下跳跃的一条带,有些事情还具有多个解决方案,不只一种平移方式可以看到它。 您还没有真正描述什么行不通。 我正在尝试解释我认为您想要的问题。

这有帮助吗?

突然来到这里。 您不应在android:windowSoftInputMode=""属性内混用多个值。 因此,您可以保留android:windowSoftInputMode="adjustPan"并使用hideKeyboard()隐藏键盘hideKeyboard()在网络中查找此方法)。 可能您可以添加侦听器以将其隐藏在活动中的任何位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM