写一个工具类
public class NumKeyboardUtil {
private Context mContext;
private Activity mActivity;
private KeyboardView mKeyboardView;
private EditText mEdit;
private Keyboard number_keyboar;
private boolean isChange = true;
private String reg = "[\\u4e00-\\u9fa5]";
private String letterAndDigit[];
public NumKeyboardUtil(Activity activity, EditText edit) {
mActivity = activity;
mContext = (Context) activity;
mEdit = edit;
letterAndDigit = new String[]{"A", "B", "C", "D", "E", "F", "G", "1", "2", "3"
, "H", "J", "K", "L", "M", "N", "P","4", "5", "6"
, "Q", "R", "S", "T", "U","V","W", "7", "8","9"
, "X", "Y", "Z", "0"};
number_keyboar = new Keyboard(mContext, R.xml.number_or_letters);
mKeyboardView = (KeyboardView) activity
.findViewById(R.id.keyboard_view);
mKeyboardView.setKeyboard(number_keyboar);
mKeyboardView.setEnabled(true);
mKeyboardView.setPreviewEnabled(false);
mKeyboardView.setOnKeyboardActionListener(listener);
}
public void setKeyBoard() {
mKeyboardView.setKeyboard(number_keyboar);
mKeyboardView.setEnabled(true);
mKeyboardView.setPreviewEnabled(false);
mKeyboardView.setOnKeyboardActionListener(listener);
}
private OnKeyboardActionListener listener = new OnKeyboardActionListener() {
@Override
public void swipeUp() {
}
@Override
public void swipeRight() {
}
@Override
public void swipeLeft() {
}
@Override
public void swipeDown() {
}
@Override
public void onText(CharSequence text) {
}
@Override
public void onRelease(int primaryCode) {
}
@Override
public void onPress(int primaryCode) {
}
@Override
public void onKey(int primaryCode, int[] keyCodes) {
Editable editable = mEdit.getText();
int start = mEdit.getSelectionStart();
if (primaryCode == -4) {
if (start > 0) {
editable.delete(start - 1, start);
}
} else {
editable.insert(start, letterAndDigit[primaryCode]);
}
}
};
public boolean isShow() {
return mKeyboardView.getVisibility() == View.VISIBLE;
}
public void showKeyboard() {
int visibility = mKeyboardView.getVisibility();
if (visibility == View.GONE || visibility == View.INVISIBLE) {
mKeyboardView.setVisibility(View.VISIBLE);
}
}
public void hideKeyboard() {
int visibility = mKeyboardView.getVisibility();
if (visibility == View.VISIBLE) {
mKeyboardView.setVisibility(View.INVISIBLE);
}
}
public void hideSoftInputMethod() {
mActivity.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
int currentVersion = android.os.Build.VERSION.SDK_INT;
String methodName = null;
if (currentVersion >= 16) {
methodName = "setShowSoftInputOnFocus";
} else if (currentVersion >= 14) {
methodName = "setSoftInputShownOnFocus";
}
if (methodName == null) {
mEdit.setInputType(InputType.TYPE_NULL);
} else {
Class<EditText> cls = EditText.class;
Method setShowSoftInputOnFocus;
try {
setShowSoftInputOnFocus = cls.getMethod(methodName,
boolean.class);
setShowSoftInputOnFocus.setAccessible(true);
setShowSoftInputOnFocus.invoke(mEdit, false);
} catch (NoSuchMethodException e) {
mEdit.setInputType(InputType.TYPE_NULL);
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
```## 引入xml文件 ##
<div class="se-preview-section-delimiter"></div>