如何在 Android 中修改自定义键盘的 ExtractedEditText
How to modify the ExtractedEditText for a custom keyboard in Android
我想在自定义键盘的提取文本视图中更改文本的字体和文本大小。我如何获得对 EditText
的引用?
我刚刚通过检查 InputMethodService
源代码学会了如何执行此操作,因此我将其作为问答发布。我的回答如下。
您可以通过重写 InputMethodService
子类中的 onCreateExtractTextView()
来获取对 ExtractedEditText
的引用。在传递之前,您可以在那里随意修改它。
@Override
public View onCreateExtractTextView() {
View extractedView = super.onCreateExtractTextView();
ExtractEditText editText = extractedView.findViewById(android.R.id.inputExtractEditText);
editText.setTypeface(myTypeFace);
editText.setTextSize(myTextSize);
return extractedView;
}
请注意 documentation 表示:
public View onCreateExtractTextView ()
Called by the framework to create the layout for showing extacted (sic)
text. Only called when in fullscreen mode. The returned view hierarchy
must have an ExtractEditText
whose ID is R.id.inputExtractEditText
.
我想在自定义键盘的提取文本视图中更改文本的字体和文本大小。我如何获得对 EditText
的引用?
我刚刚通过检查 InputMethodService
源代码学会了如何执行此操作,因此我将其作为问答发布。我的回答如下。
您可以通过重写 InputMethodService
子类中的 onCreateExtractTextView()
来获取对 ExtractedEditText
的引用。在传递之前,您可以在那里随意修改它。
@Override
public View onCreateExtractTextView() {
View extractedView = super.onCreateExtractTextView();
ExtractEditText editText = extractedView.findViewById(android.R.id.inputExtractEditText);
editText.setTypeface(myTypeFace);
editText.setTextSize(myTextSize);
return extractedView;
}
请注意 documentation 表示:
public View onCreateExtractTextView ()
Called by the framework to create the layout for showing extacted (sic) text. Only called when in fullscreen mode. The returned view hierarchy must have an
ExtractEditText
whose ID isR.id.inputExtractEditText
.