【问题标题】:Activity isn't resizing when keyboard is shown显示键盘时活动未调整大小
【发布时间】:2017-03-27 09:20:20
【问题描述】:

我有一个简单的活动,它显示一个大的多行EditText 和它下面的一些其他控件。我希望 Activity 调整大小,以便在用户输入 EditText 时,按钮不会被键盘隐藏。

我尝试了各种我在网上找到的粗略和非粗略的解决方案 - 没有任何效果。

这是我迄今为止尝试过的:

  • android:windowSoftInputMode="adjustResize" 放入清单中。
  • android:fitsSystemWindows="true" 放入布局根目录中。
  • 以 root 身份使用 RelativeLayoutLinearLayout
  • 从活动中删除了所有主题
  • 创建了一个自定义主题并将<item name="android:windowFullscreen">false</item> 放入其中。
  • 尝试了建议的解决方案 here,我的整个活动布局都在 ScrollView 内。

还有什么要尝试的吗?

【问题讨论】:

    标签: android android-layout android-activity android-softkeyboard


    【解决方案1】:

    将以下行放入您的onCreate()

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

    然后你的Activity会自动向上/向下推,键盘显示/隐藏在屏幕中。

    使用 Manifest 文件进行设置,对我不起作用。

    【讨论】:

    • +1000 谢谢!不敢相信这么简单的事情(而且确实有效!)在我看过的关于这个问题的任何其他线程中都没有提到......他们都提出了极其复杂和粗略的解决方案 - ScrollView's,整个只“解决”这个问题(不解决)等的类。
    • @BadCash 很高兴收到您的来信。:)
    • +1000 谢谢!!!由于某些原因,在 XML 中设置此参数不会导致相同的结果。谢谢。
    【解决方案2】:

    将您的表单放入ScrollView。这样当键盘弹出时,您的组件就可以滚动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      相关资源
      最近更新 更多