背景
自研的输入法发现在 Android13 平台上不显示候选区域,在之前平台上以及需求是输入英文时不显示,中文需要显示。
最终解决办法:setExtractViewShown(false)
@Override
public View onCreateCandidatesView() {...setExtractViewShown(false);
}
过程
试过重写getCandidatesHiddenVisibility 会导致候选区域一直显示。
@Overridepublic int getCandidatesHiddenVisibility() {int visibility = super.getCandidatesHiddenVisibility();if ((Build.VERSION.SDK_INT >= 33 /*VERSION_CODES.TIRAMISU*/) && (visibility == View.INVISIBLE)) {visibility = View.VISIBLE;}return visibility;}
试过onStartInput 再设置一次setCandidatesViewShown(true); 会概率导致输入键盘都不显示。
@Override
public void onStartInput(EditorInfo editorInfo, boolean restarting) {...setCandidatesViewShown(true);
}