可以从键盘列表中选择此键盘,用户可以从任何应用程序中使用它。 只需实现弹出窗口即可在自定义软键盘的键盘上添加图像
答案 0 :(得分:2)
您必须创建一个扩展PopupWindow
的类public class CustomPopup extends PopupWindow {
Context mContext;
View rootView;
public CustomPopup(View rootView, Context mContext){
super(mContext);
this.mContext = mContext;
this.rootView = rootView;
View customView = createCustomView();
setContentView(customView);
setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
setSize(250, LayoutParams.MATCH_PARENT);
}
private View createCustomView(){
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.custom_popup, null, false);
return view;
}
public void setSize(int width, int height){
setWidth(width);
setHeight(height);
}
}
然后在SoftKeyboard类中使用它
CustomPopup popupWindow;
public View onCreateInputView() {
final View root = getLayoutInflater().inflate(R.layout.input, null);
popupWindow = new CustomPopup(root, this);
return root;
}
这是如何显示弹出窗口。请注意,mInputView是您的keyboardView变量
private void showPopup() {
int height = mInputView.getHeight();
popupWindow.setSize(LayoutParams.MATCH_PARENT, height);
popupWindow.showAtLocation(mInputView.getRootView(), Gravity.BOTTOM, 0, 0);
final InputMethodManager mInputMethodManager = (InputMethodManager) getBaseContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
mInputMethodManager.showSoftInput(mInputView, 0);
}