Android中的自定义编辑器视图能够通过系统键盘接收文本InputConnection.我已经成功地做出了这样的观点.但是,当设备处于横向模式时,系统有时会选择显示提取的文本视图.当用户键入此模式时,应使用自定义视图中的相同文本更新提取的文本视图.
我无法实现提取的文本视图功能.(这是我尝试过的一些事情.)
我也无法找到任何明确的文档或完整的如何操作的例子.(这里有一些我读过的更好的东西:一,二,三,四).
我已经创建了最基本的自定义编辑器.以下gif显示了该功能.它可以从键盘接收文本,但不会以横向方式更新提取的文本视图.因此,除非您关闭键盘,否则无法看到更新的文本.
MyCustomView.java
public class MyCustomView extends View {
SpannableStringBuilder mText;
Paint mPaint;
public MyCustomView(Context context) {
this(context, null, 0);
}
public MyCustomView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public MyCustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
setFocusableInTouchMode(true);
mText = new SpannableStringBuilder();
mPaint = new Paint();
mPaint.setColor(Color.BLACK);
mPaint.setTextSize(60);
mPaint.setStyle(Paint.Style.FILL);
}
@Override
protected void …Run Code Online (Sandbox Code Playgroud) android android-custom-view inputconnection android-extracted-text
我最近遇到了一个错误,即我的小型EditText膨胀起来以填充软键盘未占用的任何空间。但仅在横向模式下。
我发布了这个消息,并从一个有用的StackOverflow成员那里得到了快速响应,我需要添加android:imeOptions =“ flagNoExtractUi”,所以我做到了,它起作用了!
但是我还是不明白。该文档说,它是“用于指定IME不需要显示其提取的文本UI” ,那是什么?http://developer.android.com的“搜索开发人员文档”功能显示短语“提取文本UI”在其文档中使用了34次,但我没有注意到定义。
有人可以解释一下它是什么,以及为什么它只影响风景模式吗?提前致谢。