9

我在相对布局中使用滚动视图。

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

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

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

还补充说:android:windowSoftInputMode="stateHidden|adjustResize"

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

4

4 回答 4

3

我遇到了这个问题,正在研究类似的问题。android:windowSoftInputMode="adjustResize"有时有效,有时无效。为什么不?

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

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

将标志设置为全屏会在键盘出现时阻止正确滚动。

于 2013-03-15T19:06:57.500 回答
1

在 onCreate 试试这个代码:

getWindow().setSoftInputMode(
            WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
于 2012-08-30T08:22:27.610 回答
1

这些其他答案应该可以解决您的问题,因此,虽然我对建议以下解决方案犹豫不决,但我将把它扔在那里以防万一您时间紧迫/不做一个非常关键的项目:使用 OnGlobalLayoutListener。

真的没有办法绝对知道是否已经提升了 softKeyboard(可悲),但是您可以做的是调整布局以在滚动视图下方提供键盘空间(即将高度重置为当前高度 - 键盘的高度) .

这里有一个答案将解释如何很好地做到这一点。同样,我不完全清楚你的问题是什么,因为我们没有看到代码等,这很难诊断为什么其他答案不能解决问题......但如果你真的被卡住了 - 给它试一试:)

于 2012-08-30T19:33:21.583 回答
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>
于 2012-08-30T08:25:40.933 回答