我有,你有同樣的問題,只是一個解決方案來了,也許它不是優雅,也不是它的簡單,但它的工作燦爛......
首先,唯一的inputType那與該鍵盤一起工作(至少直到4.3)是「numberPassword」,但是這個「隱藏」你的輸入點。所以我用這個轉換方法輸入:
private class ShowNumbersTransformationMethod implements TransformationMethod {
public CharSequence getTransformation(final CharSequence charSequence, final View view) {
return new PassCharSequence(charSequence);
}
@Override
public void onFocusChanged(final View view, final CharSequence charSequence, final boolean b, final int i,
final Rect rect) {
//nothing to do here
}
private class PassCharSequence implements CharSequence {
private final CharSequence charSequence;
public PassCharSequence(final CharSequence charSequence) {
this.charSequence = charSequence;
}
@Override
public char charAt(final int index) {
return charSequence.charAt(index);
}
@Override
public int length() {
return charSequence.length();
}
@Override
public CharSequence subSequence(final int start, final int end) {
return new PassCharSequence(charSequence.subSequence(start, end));
}
}
}
,然後將其設置爲您的EditText:現在
edittext.setTransformationMethod(new ShowNumbersTransformationMethod());
,正如前面所說,這不是最幸福的解決方案,但我向你保證,奇蹟般有效。創建自己的自定義鍵盤要容易10倍,但是,我沒有這個選項,因爲我的客戶想要標準鍵盤,天知道爲什麼...
希望它有幫助!
setRawInputType(Configuration.KEYBOARD_12KEY)給你什麼? – yarian 2013-02-26 21:51:10
發佈更新了截圖。 – AKh 2013-02-26 21:56:42