Числовой элемент редактирования текста
Числовой элемент управления, который позволяет увеличивать или уменьшать числовое значение с помощью кнопок «плюс» и «минус», а также вводить его вручную.
Настройка шага увеличения.
setZoom(Zoomable zoom). Встроенный абстрактный класс BigDecimal используется для реализации увеличения. Нужно только задать точность.
setZoom(new NumberEditText.Zoomer() {
@Override
public int scale() {
return 2;//точность: 0 означает увеличение или уменьшение на 1, 1 означает увеличение или уменьшение на 0,1, 2 означает увеличение или уменьшение на 0,01
}
});
Также можно полностью определить шаг увеличения самостоятельно, даже можно установить разные шаги увеличения.
setZoom(new NumberEditText.Zoomable() {
@Override
public double increase(double origin) {
return 5;//шаг увеличения равен 5. При нажатии кнопки «+» значение увеличивается на 5
}
@Override
public double decrease(double origin) {
return 10;//шаг уменьшения равен 10. При нажатии кнопки «-» значение уменьшается на 10
}
})
Если шаг не задан, по умолчанию целочисленное увеличение или уменьшение равно 1.
Настройка отображения числового значения.
setNumberConvertor(NumberConvertor numberConvertor). Например, можно добавить префикс или суффикс к числовому значению. Можно реализовать собственный класс NumberConvertor, чтобы преобразовать число в любые нужные данные. По умолчанию используется числовая строка, то есть String.of(value).
setNumberConvertor(new NumberConvertor() {
@Override
public String convert(double value) {
return NumberFormat.getIntegerInstance().format(value);
}
});
Установка и получение текущего значения.
Задание максимального и минимального значений. После установки максимального и минимального значения числовое поле автоматически корректируется, и кнопки увеличения и уменьшения перестают работать при достижении максимального или минимального значения.
Установка времени ожидания ввода. Когда пользователь прекращает ввод после определённого периода времени, это помогает подтвердить текущее значение.
Настройка скорости быстрого изменения значения. Это относится к скорости изменения числового значения при длительном нажатии кнопок увеличения или уменьшения. Параметр представляет собой количество миллисекунд, и чем меньше значение, тем быстрее скорость, и наоборот.
Определение, является ли значение пустым. Возвращает true, если значение не введено, или если пользователь очищает значение после ввода, и false, если есть значение.
Настройка прослушивателя кнопок увеличения и уменьшения. Каждый раз, когда нажимается кнопка увеличения или уменьшения, срабатывает прослушиватель.
Настройка слушателя изменения значения. Слушатель вызывается, когда пользователь вводит значение или изменяет его с помощью кнопок увеличения или уменьшения. ZoomListener является подмножеством OnValueChangeListener, что означает, что срабатывание ZoomListener всегда вызывает срабатывание OnValueChangeListener. Однако срабатывание OnValueChangeListener не обязательно вызывает срабатывание ZoomListener, поскольку ручной ввод также может вызывать изменение значения.
Настройка слушателя достижения диапазона значений. Слушатель срабатывает, когда значение достигает или превышает максимальное или минимальное значение через кнопки увеличения или уменьшения или путём ручного ввода. Кнопки увеличения и уменьшения не могут превышать установленные максимальные и минимальные значения. Ручной ввод, достигающий или превышающий максимальное или минимальное значение, также вызовет срабатывание. После превышения диапазона нажатие подтверждения, потеря фокуса или превышение времени ожидания автоматически скорректирует значение.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )