android:windowSoftInputMode =“adjustResize”,当我在活动中已经有ScrollView时

时间:2011-01-05 14:21:20

标签: android-layout

我有一个使用此Layouts结构的活动: LinearLayout - > ScrollView - > TableLayout

在TableLayout下面我有EditText,我想在键盘处于活动状态时向上滚动。 所以根据我所做的一些阅读,我补充道:

android:windowSoftInputMode="adjustResize"

到AndroidManifest.xml,到相关活动,并将一个ScrollView包装器添加到activity.xml文件中,因此活动的Layouts结构现在如下所示: ScrollView - > LinearLayout - > ScrollView - > TableLayout

问题:内部ScrollView现在无法正常工作......我想包裹的ScrollView在触摸时会控制...

我该如何解决这个问题?

任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:10)

我遇到了同样的问题,虚拟键盘在我的屏幕上隐藏了EditTexts。 我在清单文件中为activity标记引入了以下属性:

 android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"

我还需要在activity的OnCreate函数中添加以下代码:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

这解决了这个问题,它在所有分辨率模拟器和三星设备上都运行得非常好。但它在Google Nexus S设备上确实失败了,我可以再次看到隐藏EditTexts的虚拟键盘出现同样的问题。