【发布时间】:2017-02-24 10:21:25
【问题描述】:
这个键盘可以从键盘列表中选择,用户可以从任何应用程序中使用它。 只需实现弹出窗口以在自定义软键盘中的键盘上添加图像
【问题讨论】:
标签: android android-softkeyboard popupwindow
这个键盘可以从键盘列表中选择,用户可以从任何应用程序中使用它。 只需实现弹出窗口以在自定义软键盘中的键盘上添加图像
【问题讨论】:
标签: android android-softkeyboard popupwindow
你必须创建一个扩展 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);
}
}
然后在你的软键盘类中使用它
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);
}
【讨论】: