【问题标题】:Get soft keypad to stop modifying my LinearLayout on display?获取软键盘以停止修改我的 LinearLayout 显示?
【发布时间】:2009-11-12 16:14:35
【问题描述】:

在我的 android 应用程序中,我有一个 EditText。当我单击此字段时,会出现软键盘,从屏幕底部展开。它似乎实际上修改了我的布局,将内容向上推。当我关闭键盘时,它会缩回,我看到我的布局重新展开以占用它之前占用的空间。

有没有办法让键盘简单地出现在我的布局“顶部”,这样我就不会得到这个有点令人不快的重新布局动画? EditText 被固定在屏幕的最顶部,所以我不必担心键盘会隐藏它。

谢谢

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

    默认情况下,Android 应该使用“Pan and Scan”,这或多或少会像您描述的那样工作。键盘显示在您的视图上,您​​可以在后台滚动视图。如果您为您的 Activity 覆盖 windowInputMode,或者 Android 确定您的 Activity 可调整大小(因为存在可调整大小的字段... ListView、ScrollViews 等),它可能会改为调整您的视图大小,这听起来就像您'正在运行。要强制它平移和扫描,请尝试添加:

    android:windowSoftInputMode="adjustPan"

    作为 xml 布局中 Activity 元素的属性。

    还有第三种选择。您可以指定选择Edittext时,它将以全屏模式编辑。您视图中的其他控件将被隐藏,用户将只看到键盘、一个 EditText 控件以及可选的其他一些受限控件。如果您的 EditText 不需要来自视图的其他元素的大量上下文,则可能会妨碍更清晰的用户界面。更多详情请见:http://android-developers.blogspot.com/2009/04/updating-applications-for-on-screen.html

    【讨论】:

      【解决方案2】:

      添加:

      android:windowSoftInputMode="adjustResize"
      

      到 manifest.xml 中的活动属性。希望它会有所帮助。

      【讨论】:

        【解决方案3】:

        这个问题似乎表明调整大小是不可取的。我有同样的问题,但添加了

        android:windowSoftInputMode="adjustNothing"

        改为清单文件解决了我的问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-12-16
          • 1970-01-01
          • 1970-01-01
          • 2012-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多