Просмотр EditText только с номером клавиатуры
Я хочу, чтобы клавиатура с видимыми номерами ТОЛЬКО отображалась в виде EditText. Без какого-либо другого символа.
Я тестировал все доступные входы и не работал.
Я искал способ получить клавиатуру только с числами, но я видел только ссылки на:
android: inputType = "numberPassword"
Но я хочу видеть видимые числа в EditText.
Кто-нибудь может мне помочь?
Я хочу такую клавиатуру: (numberPassword)
![enter image description here]()
Я пробовал с:
android:digits="0123456789"
android:inputType="phone"
и
android:inputType="number"
и выглядит следующим образом:
![enter image description here]()
Ответы
Ответ 1
После нескольких попыток, я понял!
Я устанавливаю значения клавиатуры таким образом, как
myEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
Или если вы хотите, чтобы вы перешли к представлению XML, это выглядит так:
android: inputType = "numberPassword"
Обе конфигурации собираются отображать пароли, и, пока мы смотрим отображаемые номера в EditText, нам нужно создать собственный класс ClickableSpan.
private class NumericKeyBoardTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return source;
}
}
И, наконец, нам нужно реализовать его в EditText, чтобы отобразить введенные символы.
myEditText.setTransformationMethod(new NumericKeyBoardTransformationMethod());
Вот как выглядит моя клавиатура сейчас
![tooltip]()
Ответ 2
android:inputType="number"
или android:inputType="phone"
. Вы можете сохранить это. Вы получите клавиатуру, содержащую цифры. Для получения дополнительной информации о различных типах клавиатур, проверьте эту ссылку .
Я думаю, что это возможно, только если вы создадите свою собственную мягкую клавиатуру. Или попробуйте android:inputType="number|textVisiblePassword
. Но он все еще показывает других персонажей. Кроме того, вы можете сохранить android:digits="0123456789"
, чтобы разрешить только номера в edittext
. Или, если вы все еще хотите то же, что и на изображении, попробуйте комбинировать две или несколько функций с | разделитель и проверить вашу удачу, но, по моим знаниям, вы должны создать свою собственную клавиатуру, чтобы получить именно то, что..
Ответ 3
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
Я пробовал все, теперь попробую это
он показывает другие символы, но вы не можете войти в editText
edit.setRawInputType(Configuration.KEYBOARD_12KEY);
![enter image description here]()
Ответ 4
Я думаю, что вы как-то правильно использовали номер, чтобы показывать номер только на клавиатуре, поэтому лучше попробуйте данную строку с xml в тексте редактирования, и она будет работать отлично, поэтому здесь код -
android:inputType="number"
В случае каких-либо сомнений вы можете снова спросить меня, я попытаюсь полностью разобраться в вашей проблеме.
Благодаря
Ответ 5
Поместите следующие строки в <EditText>
:
android:digits="0123456789"
android:inputType="phone"
Ответ 6
Для EditText, если мы укажем,
android:inputType="number"
можно получить только числа. Но если вы используете,
android:inputType="phone"
вместе с числами, которые могут принимать специальные символы, такие как:,/"и т.д.
Ответ 7
В xml edittext
:
android:id="@+id/text"
В программе:
EditText text=(EditText) findViewById(R.id.text);
text.setRawInputType(Configuration.KEYBOARDHIDDEN_YES);