我想在自定义键盘的提取文本视图中更改文本的字体和文本大小。如何获得对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;
}
请注意,文档说:
public View onCreateExtractTextView ()
由框架调用以创建用于显示扩展(原文如此(的布局 发短信。仅在全屏模式下调用。返回的视图层次结构 必须有一个 ID 为
R.id.inputExtractEditText
的ExtractEditText
。