For a user input field in an Android application I am developing, I need the user to be able to input a number representing a distance, whose magnitude ranges from 0 to normally ~150 (but can be higher). I have been using a simple text entry field with data verification, but have noticed that it is by far the slowest portion of filling out the form, due to the manual closing of the keyboard. It's just not as effortless as the rest of the form.
Seek bars, have issues with precisely picking a single number (as well as the possibility of needing to enter an abnormally large number, which would require increasing the sensitivity even more).
+/- buttons similar to a time/date picker have no issues with range, but take too long to reach extreme values.
Unfortunately, short of these, I am having issues picking a best option, as all have significant drawbacks.
Any help in picking what would be best practice would be greatly appreciated. I just want the user to have the best experience in quickly and precisely picking from a large range of numbers.