在使用软键盘的Android设备上,我想防止在横向模式下出现全屏键盘编辑视图(如下所示)(即,我只想看到软键盘本身和它后面的视图).

我假设这可以在InputMethodService上使用setExtractViewShown(false)方法来实现,但是我无法访问它的默认实例,也不想实现自定义输入法.

Android fullscreen editing view

Edited to add:输入要进入的视图不是TextView(它是带有自定义InputConnection实现的View),因此android:imeOptions="flagNoExtractUi"在这里不起作用.

推荐答案

我回答了自己的问题:

在连接输入连接时,可以禁用提取UI(即全屏编辑模式):

@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {

    outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI;

    // etc.
}

Android相关问答推荐

如何在"不同活动"中添加不同按钮?

list 合并失败,AGP 8.3.0

我如何剪裁一个可由另一个合成的

将DiffUtils用于Android上的Recrecerview适配器

OutlinedTextField仅显示一次

我们可以使用KSP读取类中变量的值吗?

Android v31 及更低版本中 ImageView 中的圆角

如何将 Room Persistence 依赖项正确添加到我的 Jetack Compose Android 应用程序

布局可组合项如何具有可测量和约束参数?

我需要在房间数据库中保留旧的自动迁移行吗?

在 compose 中做可变状态堆栈

java.lang.ExceptionInInitializerError -- 原因:java.lang.NullPointerException

浏览器未命中断点判断 USB 连接设备

有什么方法可以确定正在使用哪个 Android 手机的麦克风进行录音?

您如何衡量条形图的 4 个类别?

记住或不记得derivedStateOf

如何在 Dolphin 中启用 android studio new logcat | 2021.3.1 金丝雀 6?

Jetpack Compose:如何绘制这样的路径/线

如何在 TextInputEdit 中调整可绘制对象的大小

如何在 Android Studio 中使用 Github Copilot?