【发布时间】:2017-04-24 13:57:15
【问题描述】:
在我的应用程序中,我使用了各种编辑文本和文本视图以及列表视图。 现在我的问题是我的键盘在方向改变时再次出现。理想情况下,当用户最小化键盘时,当设备倾斜时它应该处于最小化状态。但它又出现了。我们如何处理这种情况。
我的另一个问题是我的编辑文本之一是屏幕末尾的一些内容。当键盘出现时,它会隐藏编辑文本。所以用户无法看到他正在输入的内容。处理这个问题的理想方法是什么。 谢谢。
【问题讨论】:
在我的应用程序中,我使用了各种编辑文本和文本视图以及列表视图。 现在我的问题是我的键盘在方向改变时再次出现。理想情况下,当用户最小化键盘时,当设备倾斜时它应该处于最小化状态。但它又出现了。我们如何处理这种情况。
我的另一个问题是我的编辑文本之一是屏幕末尾的一些内容。当键盘出现时,它会隐藏编辑文本。所以用户无法看到他正在输入的内容。处理这个问题的理想方法是什么。 谢谢。
【问题讨论】:
所有问题的解决方案是这条线 android:windowSoftInputMode="stateUnchanged|adjustResize"
“stateUnchanged”将使键盘的状态与之前的状态相同。隐藏或可见。
“adjustResize”将使您的编辑文本可见。
希望这会有所帮助。!!!
编辑
这需要在android manifest文件中添加。
【讨论】:
我遇到了同样的问题。当你有 TextViews 时,要防止键盘在旋转时重新出现,你必须做两件事 -
确保 TextView 没有焦点。即使隐藏了键盘,TextView 仍然可以聚焦。尝试调用
textView.clearFocus()
您应该能够在 TextView 中看到差异。
确保在它之前有另一个视图(如父 LinearLayout,甚至只是一个宽度为 0 和高度为 0 的 LinearLayout),它具有这些属性-
android:focusable="true"
android:focusableInTouchMode="true"
【讨论】:
尝试在清单中的“活动”属性中添加此代码
android:windowSoftInputMode="stateHidden|adjustPan"
喜欢
<activity
android:name=".MyActivity"
android:windowSoftInputMode="stateHidden|adjustPan" >
这应该可以解决你的两个问题
【讨论】:
对于第二个问题: 您可以将布局设置为 ScrollView 以避免在键盘出现时隐藏编辑文本。 将整个布局放在一个 ScrollView 中。
【讨论】:
我发现以下文档有助于理解与软键盘相关的各种标志: https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft
【讨论】: