标签: android-extracted-text

如何为自定义Android视图实现提取的文本

背景

Android中的自定义编辑器视图能够通过系统键盘接收文本InputConnection.我已经成功地做出了这样的观点.但是,当设备处于横向模式时,系统有时会选择显示提取的文本视图.当用户键入此模式时,应使用自定义视图中的相同文本更新提取的文本视图.

我无法实现提取的文本视图功能.(这是我尝试过的一些事情.)

我也无法找到任何明确的文档或完整的如何操作的例子.(这里有一些我读过的更好的东西:,,,).

MCVE

我已经创建了最基本的自定义编辑器.以下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

8
推荐指数
1
解决办法
272
查看次数

什么是Android的“提取文字用户界面”?

我最近遇到了一个错误,即我的小型EditText膨胀起来以填充软键盘未占用的任何空间。但仅在横向模式下。

我发布了这个消息,并从一个有用的StackOverflow成员那里得到了快速响应,我需要添加android:imeOptions =“ flagNoExtractUi”,所以我做到了,它起作用了!

但是我还是不明白。该文档说,它是“用于指定IME不需要显示其提取的文本UI” ,那是什么?http://developer.android.com的“搜索开发人员文档”功能显示短语“提取文本UI”在其文档中使用了34次,但我没有注意到定义。

有人可以解释一下它是什么,以及为什么它只影响风景模式吗?提前致谢。

android android-extracted-text

6
推荐指数
1
解决办法
2986
查看次数