如何显示我的滚动布局键盘上方?

在相对布局中使用scrollview

在没有键盘的情况下,我可以滚动到所有手机页面的结尾,在某些手机中,当键盘打开时,我可以完全查看滚动布局。 即) – 键盘上方滚动视图的结尾。

我分析的问题是因为键盘的types在不同的Android设备中有所不同。

得到了一些答案,在活动清单中添加windowSoftInputMode。

还join了: android:windowSoftInputMode="stateHidden|adjustResize"

但是仍然有同样的问题。 如果您有解决scheme或遇到问题,请分享您的想法。 谢谢你的时间。

Solutions Collecting From Web of "如何显示我的滚动布局键盘上方?"

我遇到了这个问题,看着类似的问题。 android:windowSoftInputMode="adjustResize"有时起作用,而不是其他时间。 为什么不?

这个答案谈到一个Android全屏主题。 蜂窝(3.1)adjustResize不再工作?

对我来说问题是这里调用: getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

将标志设置为全屏将防止键盘出现时的正确滚动。

在onCreate中试试这个代码:

 getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

这些其他的答案应该是解决你的问题,所以当我犹豫build议下面的解决scheme,我会把它扔出去,以防万一你按时间/不做一个项目,这是非常关键的:使用OnGlobalLayoutListener。

真的没有办法完全知道软键盘是否被抬起(可悲),但你可以做的是调整你的布局,让键盘空间在你的滚动视图下(即重置高度为当前高度 – 键盘的高度) 。

这里有一个答案 ,将解释如何做到这一点很好。 再一次,我不完全清楚你的问题是什么,因为我们没有看到代码等,这是很难诊断为什么其他答案不解决问题…但如果你真的坚持 – 给它试试:)

您可以将configuration放在AdroidManifest.xml中的任何活动上,像这样…

  <activity android:name=".views.ViewportActivity" **android:windowSoftInputMode="adjustPan|adjustResize"** android:label="@string/app_name" android:configChanges="locale" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity>