我的布局中有一个edittext但是当单击此edittext时,软键盘会出现并覆盖整个文本字段。结果,我看不到我在打字的东西,这很烦人。谁能告诉我是否有办法解决这个问题?
编辑:我还尝试将整个布局包装在滚动视图中。我听说这样我可以得到我想要的但仍然没有任何反应。这是我的布局代码:
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:id="@+id/mainLayoutMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" >
.................... Bunch of View....................
</RelativeLayout>
</ScrollView>
我还能做什么?
P.S我还尝试在清单文件中设置这些属性:
android:windowSoftInputMode="adjustPan"
和
android:windowSoftInputMode="adjustResize"
甚至:
android:windowSoftInputMode="adjustPan|adjustResize"
但没有任何作用。 Everthing导致相同的结果 - 软键盘隐藏了编辑文本字段。
答案 0 :(得分:0)
你可以做的一件事是让你的根(父)布局有android:layout_height="wrap_content"
,这样View
会在召唤软键盘时自动失效,相应地调整大小,如果{{1} }已与EditText
的底部对齐(我建议您使用View
作为父级),它应该提升。
修改强>
另一件事:
尝试将此属性设置为清单:
RelativeLayout
然后更改根布局:
<application ... >
<activity
android:windowSoftInputMode="adjustResize" ... >
...
</activity>
...
</application>
我不知道任何其他解决方案,主要是因为没有已知的回调,或者在代码中处理此类行为的事件(软键盘生成)。
所以这一切都取决于布局设计和属性,以及android系统如何处理输入事件。