在相对布局中使用滚动视图。
当没有键盘时,我可以在所有手机中滚动到页面的末尾,在某些手机中,我可以在键盘打开时完全查看滚动布局。 ie) - 键盘上方滚动视图的结尾。
我分析的问题是因为不同Android设备的键盘类型不同。
得到一些答案,在活动清单中添加windowSoftInputMode。
同时添加:android:windowSoftInputMode="stateHidden|adjustResize"
但仍然遇到同样的问题。如果您有解决方案或遇到问题,请分享您的想法。谢谢你的时间。
答案 0 :(得分:3)
我遇到了这个类似问题的问题。 android:windowSoftInputMode="adjustResize"
有时会发挥作用,而不是其他时间。为什么不呢?
这个答案谈到Android全屏主题。 Honeycomb (3.1) adjustResize no longer working?
对我来说问题是这里的问题:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
将标志设置为全屏会阻止键盘出现时正确滚动。
答案 1 :(得分:1)
在onCreate中尝试此代码:
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
答案 2 :(得分:1)
这些其他答案应该是解决你的问题,所以当我犹豫是否建议以下解决方案时,我会把它扔出去,以防万一你被迫时间/不做一个非常关键的项目:使用一个OnGlobalLayoutListener。
真的没有办法绝对知道softKeyboard是否已被提升(遗憾),但你可以做的是调整你的布局,使键盘空间位于你的滚动视图下方(即将高度重置为当前高度 - 键盘的高度。)
有an answer here可以解释如何做得很好。同样,我还不完全清楚你的问题是什么,因为我们还没有看到代码等等,而且很难诊断为什么其他答案没有解决问题......但是如果你真的卡住了 - 给它试一试:))
答案 3 :(得分:0)
您可以将配置放在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>