Is there an InputType for (default) Android soft keyboards that is targeted at entering numbers but also allows entering letters?
This would be for an input fields like the house number, that most of the time contains only numbers, but sometimes also letters.
On iOS, there is UIKeyboardTypeNumbersAndPunctuation that displays the normal keyboard, but with the page that contains the numbers; you can then switch back to the letter page.
There is no such things in Android.
You should take a lokk at the official documentation : InputType
InputType TYPE_TEXT_VARIATION_POSTAL_ADDRESS seems closest to what you need.
if you want to start with a numeric keyboard initially and then want to switch to qwerty this answer might help you.
Related
I have an EditText box and I want the default keyboard that comes up when it is selected to be the numeric keypad. However, I do want to allow users to enter alphabetic characters too. The solutions android:inputType="number" , et.setRawInputType(InputType.TYPE_CLASS_NUMBER)...etc does not work for me because restricts input to numeric digits only. Does someone know some solution??
Add the following line of code, and it will do the trick :)
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
This will show the the numeric keypad first, but also allows you to enter free text.
More information tap here
This problem is similar to the this.
In my project , I use an editext for entering names and I require only a keyboard without number rows on the top. I would like to avoid the appearance of the number
row on top line of the keyboard. How to do it?
The decision as to whether or not to show a row of numbers on a soft keyboard is up to the implementer of the soft keyboard, not you. Some soft keyboards will always have it. Some will never have it.
The android:inputType attribute is where you provide a hint of what you want, that some soft keyboards may elect to honor. However, there is no inputType option for "all possible characters except numeric digits" or even "only letters". And, more generally, there is no option for you to say "well, I want the user to be able to enter digits, but please do not put those digits on the main keyboard, but instead have the user switch to some alternate layout to get those digits".
I have an EditText which needs to process either numerical and/or alphabetical input depending on state. The user may enter either type of input in some circumstances. I've only been able to pop-up the "Phone" keyboard using setInputType (InputType.TYPE_CLASS_NUMBER); which works, but doesn't allow the user a way to get back to the QWERTY keyboard. Since most of the input is indeed numerical, I would like to present the user with the ?123 keyboard most of the time. They would only need to go back to the QWERTY keyboard a few times.
How can I pop-up the onscreen QWERTY keyboard for alphabetical input, and then pop-up the "?123" keyboard if it's numerical? I just want to save a step for the user so they don't have to hit the ?123 button on the QWERTY keyboard every time.
Update: This is the keyboard I would like visible. The reason is I would like the user to easily switch between Alphabetical input and Numerical input. There is no way to switch to the QWERTY keyboard from the "number pad". In my app, numerical input is required for 90% of the input so I would like to pop it up as a convenience. In other words, rather than having to switch to the numerical keyboard 90% of the time, they only need to switch to QWERTY 10% of the time
The call to input.setRawInputType(Configuration.KEYBOARD_QWERTY); works differently on Honeycomb and later versions of Gingerbread (brings up the number pad). On Gingerbread 2.2.3 it works the way I want. Honeycomb and 2.3.7 keyboard screengrabs are below for reference. I don't know why they are so different.
You can use several ways to use number keyboard.
Some are listed below,
Method 1:
add this attribute to your text field(EditText)
android:inputType="number"
Method 2:
use it programmatically
edittext.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);
I believe this post answers your question.
In short add this to your code:
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
Is it possible to have Android's numeric keypad display for an EditText (the one that would show with inputType="number"), while still having an option for users to switch back to the normal QWERTY keyboard?
My input field will usually be a number, but there will be times when text is necessary so I'd like to make it very easy to enter numbers, and extremely simple to switch over to entering text.
Thanks!
Yes, you can programatically change the keyboard being used by using the setInputType() method. So for instance, you could add a button in your UI that changes the input type from just pure numbers to a full on QWERTY keyboard.
Try this. It should leave the button on the on-screen keyboard that lets you toggle between letters and numbers.
In xml, don't constrain the input--just leave it to the default of letters. (Not sure if this matters.)
mEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
I want to let users input a postal code to my app. The common use case is the US zip code, which are composed solely of numbers, so I'd like to display the numeric keyboard initially in the soft input. However, not all postal codes are solely digits, so I still need users to be able to enter other characters.
I've been trying to do this with android:inputType, but by setting the "number" flag, it automatically blocks any input except for number-based stuff. Is there a way to just accept general text, but get the soft keyboard to initially display a more number-based keyboard?
Have you tried initially setting the inputType to "number" and then via a TextWatcher changing the input type of the TextView programatically?