当前位置: 首页 > 知识库问答 >
问题:

显示软键盘而不改变视图位置

冯皓
2023-03-14

我们正在做一个类似Whatsapp的应用程序,所以我们展示了一个表情面板或软键盘。我们正在使用adjustResize,因为我们需要获得软键盘的高度(为了确保表情面板与软键盘具有相同的高度),一切都正常,但是,当从表情面板更改为键盘时,我们看到edittext如何到达底部,然后随着软键盘上升。

在显示软键盘时,如何修复edittext?在显示键盘之前,我曾考虑过从adjustResize更改为adjustPan,但后来我们在测量键盘高度(通过ViewTreeObserver)时遇到了问题。你知道我们如何解决这个问题吗?

提前感谢

共有1个答案

平和雅
2023-03-14

将带视图的布局放入ScrollView并使用 adjustPan,这样您就可以在键盘显示时滚动内容。

或者你可以试试:

android:windowSoftInputMode="adjustNothing"
 类似资料:
  • 列表视图项根据其内容具有随机高度。 单击列表视图项时,我需要关注EditText并打开软键盘,同时我希望被单击的项位于列表视图的顶部,例如,如果单击项2,我希望看到: 为了将单击的项目放在listview的顶部,当单击项目时,我将根据其位置获取单击的项目视图,并调用<code>视图。GetLocationOn Screen(locations)获取其y位置,并使用该y减去actionbar的高度,

  • 我有一个来选择一个火车站,它使用两个不同的适配器: 适配器 1:包含最近和附近电台的固定列表(不需要软键盘即可通过键入进行筛选) 适配器 2:包含电台 sqlite 数据库的光标(确实需要软键盘通过键入进行过滤) 所以,我想阻止软键盘在自动完成文本视图获得焦点并使用ADAPTER 1时显示,但我还没有找到方法。 我目前正在使用它,但软键盘不断弹出:

  • 我已经制作了Hello World RCP应用程序,得到了以下类结构: 向Perspective.createInitialLayout()添加额外代码: 但不显示视图。 我将breakpoint设置到perspective.createInitialLayout()中,发现它没有执行。 我的观点声明是: ApplicationWorkbenchAdvisor.GetInitialWindowPe

  • 我的问题是我需要知道键盘隐藏和显示事件,如何找出这一点?

  • null 在当前的系统配置中,有没有办法在我的触摸监视器上显示虚拟键盘?例如,告诉键盘它的所有者应用程序在哪里,以便它在正确的监视器上显示?