要解决在安卓Pie和Oreo版本上显示白色视图时键盘显示的问题,您可以使用以下代码示例:
public class CustomEditText extends EditText {
public CustomEditText(Context context) {
super(context);
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection connection = super.onCreateInputConnection(outAttrs);
int inputType = outAttrs.inputType;
// 设置透明的输入框背景
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) == InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS) {
setBackground(null);
}
return connection;
}
}
通过使用上述代码示例,您可以在安卓Pie和Oreo版本上显示白色视图时键盘显示。请注意,这里的关键是在自定义EditText类中重写onCreateInputConnection方法,并根据输入类型设置透明的输入框背景。