12

In my app I am using various edit text and text view and list view. Now my problem is my keyboard appears again on orientation change. Ideally when user minimize the keyboard, it should be in minimized state when device is tilted. But it reappears. How do we handle this situation.

My other problem is one of my edit text is some what at the end of screen. When keyboard appears, it hides the edit text. so user is not able to see what he is typing. What is the ideal way to handle this. thanks.

4

5 回答 5

34

所有问题的解决方案是这一行 android:windowSoftInputMode="stateUnchanged|adjustResize"

“stateUnchanged”将使键盘的状态与之前的状态相同。要么隐藏,要么可见。

“adjustResize”将使您的编辑文本可见。

希望这可以帮助。!!!

编辑

这需要在 android manifest 文件中添加。

于 2012-10-03T09:23:22.040 回答
3

我有同样的问题。当您拥有 TextViews 时,要防止键盘在旋转时重新出现,您必须做两件事 -

  1. 确保 TextView 没有焦点。即使隐藏了键盘,TextView 仍然可以聚焦。试着打电话

    textView.clearFocus()
    

    并且您应该能够看到 TextView 中的差异。

  2. 确保在它之前有另一个视图(如父线性布局,甚至只是一个宽度为 0 高度为 0 的线性布局),它具有这些属性 -

    android:focusable="true"
    android:focusableInTouchMode="true"
    
于 2015-02-25T19:57:50.590 回答
2

尝试将此代码添加到清单中的活动属性中

 android:windowSoftInputMode="stateHidden|adjustPan"

喜欢

 <activity
            android:name=".MyActivity"
            android:windowSoftInputMode="stateHidden|adjustPan" >

这应该可以解决您的两个问题

于 2012-10-03T09:21:31.447 回答
0

对于第二个问题:您可以将布局设置为 ScrollView 以避免在键盘出现时隐藏编辑文本。将整个布局放在 ScrollView 中。

于 2012-10-03T09:20:32.023 回答
0

我发现以下文档有助于理解与软键盘相关的各种标志: https ://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

于 2017-04-24T05:57:15.850 回答