【问题标题】:Custom Keyboard Candidates View is causing Gmail EditText to jump自定义键盘候选视图导致 Gmail EditText 跳转
【发布时间】:2018-05-13 11:52:55
【问题描述】:

当我使用自定义键盘在 Gmail 应用程序中输入文本时,屏幕会随着每次击键而上下“跳跃”。

我已经找到了候选人视图的原因(因为当它被禁用或高度为零时,屏幕不会跳转)。 Android 文档声明“请注意,由于候选视图倾向于显示和隐藏很多,它不会像软输入视图那样影响应用程序 UI:它永远不会导致应用程序窗口调整大小,只会导致它们如果需要用户可以平移以查看当前焦点。所以我怀疑“跳跃”可能是由 Gmail 视图平移引起的。

有谁知道如何防止这种“跳跃”的发生,因为它使键盘很难使用?

我检查了 setCandidatesViewShown(false) 没有被调用,并且自定义候选视图的 onMeasure 方法总是返回正确的高度。

【问题讨论】:

    标签: java android keyboard ime


    【解决方案1】:

    这里有一个完美的解决方案。 只需在InputMethodService中重写如下方法,

    @Override
    public void onComputeInsets(InputMethodService.Insets outInsets) {
        super.onComputeInsets(outInsets);
        if (!isFullscreenMode()) {
            outInsets.contentTopInsets = outInsets.visibleTopInsets;
        }
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 2014-08-13
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多