强制安卓输入法在全屏模式下显示

7

我看到了很多关于这个主题的问题,但并不是我想要的答案。问题是:如何在编辑特定的编辑文本时强制IME在全屏(提取)模式下显示?我想要的是IME按照其自己的方式运作,除了那个特定的编辑文本,我需要IME在其上全屏显示。

我尝试了以下操作,但没有实现:

   mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
                InputMethodManager input = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                if(input != null) {
                    input.showSoftInput(mEditText, InputMethodManager.SHOW_FORCED);
                }
            }
        }
    });

除了“我为什么要这样做”外,还有什么想法吗?我曾经考虑过在一个单一的编辑文本中启动一个活动,但我更喜欢使用IME的功能。谢谢。


据我所知,没有强制 IME 进入全屏模式的方法。你可以在输入类型上放置标志来防止这种行为,但是我在框架中没有看到任何类似的标志来强制执行此行为。(EditorInfo.IME_FLAG_NO_EXTRACT_UIEditorInfo.IME_FLAG_NO_FULLSCREEN - Karakuri
即使尝试防止全屏模式,您仍然受输入法的支配。 IME_FLAG_NO_FULLSCREEN 将由 InputMethodService.onEvaluateFullscreenMode 的默认实现执行,但覆盖可能不会关心。 - j__m
1个回答

0

我认为正确的解决方案是在您需要时从您的输入法开始一个新的活动,该活动可能只包含一个文本框,一旦您完成编辑,输入法可以简单地复制文本并自动粘贴到原始文本框中。

我不确定这是否可以像我所说的那样轻松完成,但我确信这将是正确的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接