Я создаю приложение, которому нужен контроллер ввода, который помогает пользователям выбирать из диапазона возможных значений, обычно насчитывающих от 100 до 150. В то же время пользователь должен иметь возможность свободно изменять конечное значение, если доступные варианты не подходят их потребности. В нашей версии для iOS мы делаем это с помощью простого средства выбора, которое обновляет UITextField, как показано ниже:
Пользователь может прокрутить до предпочтительного значения в средстве выбора, а затем изменить свой ввод через поле UITextField. Это хорошо работает в iOS, потому что средство выбора можно прокручивать очень быстро. Кроме того, когда отображаются клавиатура, средство выбора и UITextField, ни одно из них не мешает другому.
Я уже несколько дней пытаюсь сделать что-то подобное на Android, но мне не повезло. Начнем с того, что стандартный NumberPicker очень медленный и плохо справляется с прокруткой набора значений. Кроме того, при выборе EditText, похоже, нет способа надежно гарантировать, что все ключевые элементы дерева останутся видимыми на экране.
Вероятно, это несколько открытый вопрос, но я действительно просто ищу идеи о том, как эту проблему можно решить в Android, не оказывая негативного влияния на удобство использования приложения.