Android 蜂窝(3.1)不再工作?

Android 蜂窝(3.1)不再工作?,android,layout,resize,android-3.0-honeycomb,android-softkeyboard,Android,Layout,Resize,Android 3.0 Honeycomb,Android Softkeyboard,我的活动具有android:WindowsOfInputMode=“adjustResize”,并在android 2.1中相应地运行: 在软键盘出现之前 带键盘 但是,在蜂巢中,软键盘不会调整我的布局,而是覆盖了按钮: 在10英寸Galaxy标签和摩托罗拉Xoom上都有相同的表现 我已经修改了我的布局好几次,试图让它与蜂巢兼容,但都无济于事。软键盘将弹出EditText视图,但不会弹出按钮 编辑:链接已修复 使用的布局: <?xml version="1.0" encoding=

我的活动具有android:WindowsOfInputMode=“adjustResize”,并在android 2.1中相应地运行:

在软键盘出现之前

带键盘

但是,在蜂巢中,软键盘不会调整我的布局,而是覆盖了按钮:

在10英寸Galaxy标签和摩托罗拉Xoom上都有相同的表现

我已经修改了我的布局好几次,试图让它与蜂巢兼容,但都无济于事。软键盘将弹出EditText视图,但不会弹出按钮

编辑:链接已修复

使用的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_alignParentBottom="true">
        <Button
            android:id="@+id/save"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Save" />
        <Button
            android:id="@+id/cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancel" />
    </LinearLayout>
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">
        <EditText
            android:layout_height="wrap_content"
            android:layout_width="fill_parent" />
    </ScrollView>
</RelativeLayout>

我发现的唯一相关问题是,禁用硬件加速对我没有任何影响。我也读了这本书,但没有发现任何解决方案


我是不是做错了什么?或者这是一个有更多信息的bug

调整大小模式肯定有效;您将在整个UI中看到它的作用

所以问题是:为什么不为你的应用程序设置它

首先,您可以使用“adb shell dumpsys window”查看有关窗口的信息,其中包括由WindowManager.LayoutParams设置的软输入模式。打印的值是原始编号;请看这里的含义:

如果您的窗口实际上没有调整大小,那么您需要深入研究,看看为什么没有设置。其他一切正常,如果您在活动上设置该模式,它将像往常一样在窗口上设置。你会想在你的窗口中寻找你正在做的导致它被改变的其他事情


如果您的窗口确实选择了adjustResize,则由于某些原因,视图层次结构实际上没有调整大小。据我所知,在平台中没有任何重大差异会导致此功能不起作用(同样,您可以看到它在股票UI的其他地方也起作用)。我建议在这里做的第一件事是使用HierarchyViewer查看视图层次结构中发生了什么。

您好,我已经检查了您的代码

请删除“AndroidManifest.xml中的以下行”

然后检查并调整屏幕大小


如果有任何查询,请告诉我。

当您的活动处于全屏模式时,adjustResize将失败,如下所述:

我找到了一个适合我的解决方案,您可能想试试:


欢呼声

可能相关:如果将Scrollview高度设置为“填充父对象”,则在蜂巢中,按钮将不可单击,因为Scrollview与按钮重叠,它们会失去焦点。但在2.1中并非如此。在3.1的模拟器中,无论是否使用
android:windowSoftInputMode
,它似乎都可以正常工作。我所做的只是创建一个新项目,并用布局替换main.xml。我无法下载您的示例项目。@Nicklas Odd,在emulator中,我发现3.1和2.1都存在问题:软键盘覆盖了按钮。我更正了链接。非常感谢-该标志似乎没有设置在窗口转储中。试图找出问题…Dianne,你能告诉我们为什么那个主题会禁用那个标志吗?哇,你说得对-那个主题确实打破了3.1中的调整大小!为什么会这样?我现在要寻找另一种全屏解决方案,但非常感谢您的提示!我已经证实,正是这个主题的全屏部分打破了蜂巢的界限——考虑到蜂巢应用程序都是“全屏”的,这是有道理的。尽管如此,我还是需要这个设置,因为我的目标是2.1,蜂巢似乎缺少向后兼容性。可能会在我有机会的时候提交错误报告。再次感谢!Nathan,你为此提交了错误报告吗?没有,我从来没有考虑过-我猜这意味着这仍然是一个问题,对不起,我没有采取措施让你免于同样的痛苦:(你会提交错误报告还是我继续?相信这里正在解决这个问题
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"