禁用横向软键盘输入的全屏编辑视图?

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

我认为这可以通过使用InputMethodService上的setExtractViewShown(false)方法来实现,但我无法访问此默认实例,也不想实现自定义输入方法。

Android fullscreen editing view

编辑添加:输入的视图不是TextView (它是具有自定义InputConnection实现的View ),因此android:imeOptions="flagNoExtractUi"在这里不起作用。


终于回答了我自己的问题:

提取用户界面(即全屏编辑模式)可以在输入连接连接点处禁用:

@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {

    outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI;

    // etc.
}

要做到这一点,只需导航到activity xml并在代码中粘贴android:imeOptions="flagNoExtractUi" 。 嗯非常简单 - 但它应该粘贴在什么地方? 查看示例活动xml的代码并查看EditText:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"         
    >

    <EditText
        android:imeOptions="flagNoExtractUi"
        android:id="@+id/etTextInAct"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >   
        <requestFocus />
    </EditText>

</LinearLayout>

如果你想要更多的键盘自定义选项,请参阅http://developer.android.com/guide/topics/ui/controls/text.html


将属性android:imeOptions="flagNoExtractUi"XML文件中的每个EditText

链接地址: http://www.djcxy.com/p/16669.html

上一篇: Disabling the fullscreen editing view for soft keyboard input in landscape?

下一篇: How to hide soft keyboard on android after clicking outside EditText?