【问题标题】:Keyboard layout hiding android action bar?键盘布局隐藏android操作栏?
【发布时间】:2012-01-03 22:30:29
【问题描述】:

在我在 XOOM 设备中运行的 Android 应用程序中,当我单击 Edittext 时,键盘会打开并隐藏操作栏。我不希望发生这种情况,我该如何解决?例如,这是由平板电脑的 Google 通讯录应用程序完成的。

编辑: 我有几个用户需要填写的编辑文本。一开始,当用户点击底部的一个edittext时,键盘出现并隐藏了用户正在输入的edittext,所以他看不到他在输入什么。我发现它真的很糟糕,为了解决它,我刚刚添加到清单中:android:windowSoftInputMode="stateVisible|adjustPan" 但在那之后,现在屏幕会自行调整并隐藏操作栏。

Google 通讯录应用也能做到这一点,但它不会神奇地隐藏操作栏。他们是怎么做到的?

【问题讨论】:

  • 您是否尝试将android:imeOptions="flagNoExtractUi"(或EditText.setImeOptions(...))添加到此EditText
  • @Selvin 它没有解决问题。我刚刚更新了问题。
  • 我也有同样的问题。我试过添加“adjustResize”,但没有帮助。

标签: android android-layout android-3.0-honeycomb android-actionbar xoom


【解决方案1】:

使用adjustResize 代替adjustPan。如有必要,框架将始终通过滚动任何父视图来尝试将焦点元素保持在屏幕上。

如果您的 EditText 字段没有嵌套在某种滚动容器(例如 ScrollView)中,那么当键盘调整您的活动大小时,您的布局可能太高而无法完全显示。尝试将表单的布局包装在 ScrollView 中。如果您的应用在可能存在类似问题的小屏幕设备上运行,这也将允许您的应用内容滚动。

【讨论】:

  • 但我不想调整它的大小。隐藏一些内容对我来说没问题。屏幕上唯一需要显示的内容是选定的编辑文本和操作栏。就像 Google 通讯录一样。他们是怎么做到的?
  • 他们通过使用adjustResize来做到这一点。 :) 如果您在使用键盘遮挡内容时遇到问题(并且您会在某些具有不同屏幕尺寸或更高键盘的设备上),那么您确实需要调整大小的行为。这使您可以使用滚动容器来保持活动内容在键盘打开时可访问。
  • 谢谢。我需要同时调整调整大小和滚动视图。
  • 我也有这个问题,但不同的是,我的编辑文本上方有一个列表,不能使用滚动容器。如果我在 edittext 聚焦时使用adjustResize,它会出现在列表上方,并且列表中的最后一项会被遮挡(列表不会向上推)。另一方面,如果我不使用adjustResize,当edittext 聚焦时,它会将所有内容向上推,但acionbar 是隐藏的,我也无法滚动到列表顶部。有人可以为此分享解决方案吗?
  • @Sandra 你是怎么解决你的问题的?我现在也遇到了。
猜你喜欢
  • 1970-01-01
  • 2016-02-01
  • 2014-04-13
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 2021-08-27
  • 2016-03-10
  • 2019-08-10
相关资源
最近更新 更多