Android 软键盘和编辑文本问题
我的应用程序底部有一个编辑文本。我想实现这一点,当它得到一个触摸事件时,软键盘就会出现,将整个窗口滚动到顶部,这样我的编辑文本就会保持可见 问题是,有时窗口根本不滚动,编辑文本仍隐藏在软键盘后面。奇怪的是,在这些时刻,如果我按下任何键或与窗口中的其他元素交互,显然它会刷新或类似的内容,然后它会正确地滚动到顶部,让我可以看到编辑文本 我尝试过不同的事情,这是我的最终代码:Android 软键盘和编辑文本问题,android,android-edittext,android-softkeyboard,Android,Android Edittext,Android Softkeyboard,我的应用程序底部有一个编辑文本。我想实现这一点,当它得到一个触摸事件时,软键盘就会出现,将整个窗口滚动到顶部,这样我的编辑文本就会保持可见 问题是,有时窗口根本不滚动,编辑文本仍隐藏在软键盘后面。奇怪的是,在这些时刻,如果我按下任何键或与窗口中的其他元素交互,显然它会刷新或类似的内容,然后它会正确地滚动到顶部,让我可以看到编辑文本 我尝试过不同的事情,这是我的最终代码: <RelativeLayout xmlns:android="http://schemas.android.com/ap
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black">
<my.Custom_Edit_Text
android:id="@+id/my_custom_edit_text"
style="@style/my_custom_edit_text_Style"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:maxLength="@integer/data_title_max_length"
android:text="@string/my_custom_edit_text_default"
android:selectAllOnFocus="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:cursorVisible="true"
android:inputType="text"/>
我还在清单文件中设置了此属性:
android:windowSoftInputMode="stateHidden|adjustPan"
用这个
android:configChanges="keyboardHidden|orientation"
及
让我知道使用这两种方法对您是否有帮助,并且在虚拟键盘产生问题的布局中使用scrollview也会有所帮助
将正在分发的整个布局放在滚动视图中这篇文章为我提供了解决问题的线索
我刚刚尝试将编辑文本更改为文本视图,现在效果非常好(在任何情况下都会滚动窗口)。您是否知道触摸事件发生的时间?活动是否重叠?我的应用程序仅限于纵向模式,因此在旋转时隐藏键盘对我没有帮助。我已经使用了adjustPan配置,并尝试将所有内容都放在滚动视图中(对不起,我忘记在问题中提及它)。我找到了一个使用文本视图的解决方案。不过还是要谢谢你的建议,它们非常有用。
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="adjustPan"