Для ввода размеров изображения в Android нет готового EditText, который ограничивал бы ввод только числовых значений. Однако вы можете создать собственный EditText с помощью атрибутов XML или программно настроить его так, чтобы пользователь мог вводить только числовые значения.
Чтобы ограничить ввод в EditText только числовыми значениями, можно воспользоваться следующими методами:
1. Атрибут inputType: В XML-разметке для EditText можно указать атрибут inputType, например, для целых чисел можно использовать "number" или "numberSigned", для чисел с плавающей запятой - "numberDecimal". Например:
<EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" />
2. TextWatcher: Программно можно добавить TextWatcher к EditText и проверять введенный текст на соответствие вашим требованиям. Например:
editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} @Override public void afterTextChanged(Editable s) { if (!TextUtils.isEmpty(s.toString()) && !s.toString().matches("\d*")) { // Пользователь ввел недопустимые символы, можно очистить EditText или вывести сообщение об ошибке } } });
3. InputFilter: Можно также использовать InputFilter для EditText, чтобы фильтровать ввод пользователя. Например:
InputFilter filter = (source, start, end, dest, dstart, dend) -> { for (int i = start; i < end; i++) { if (!Character.isDigit(source.charAt(i))) { return ""; } } return null; }; editText.setFilters(new InputFilter[] { filter });
Таким образом, вы можете ограничить ввод в EditText только числовыми значениями, используя различные методы в зависимости от ваших предпочтений и требований к приложению.