Does android have a numeric keypad?

24.1k views Asked by At

Is there a way in android to invoke a numeric only keypad, i.e. a virtual keypad that contains only the numbers 0 to 9 and a "." sign?

5

There are 5 answers

2
Peter Boughton On BEST ANSWER

Try doing android:inputType="phone" ?

1
Soups Ranjan On

Make sure you only have: <EditText android:numeric="decimal" />

and not both: <EditText android:numeric="decimal" android:digits="0123456789." />

The latter, ie using both numeric and digits was not working for me. However, using only numeric works.

0
Dimitar Dimitrov On

Basically, you need what Peter Boughton said.

More generally, if you need to invoke different type of keyboard, depending on the input you expect on your EditText component, you should use the IMF (Input Media Framework) and different IMEs (Input Media Editors).

You can customize not only the input symbols, but also the layout of the keyboard in your application, auto-completion and other options.

You may want to read this post in the Android Developers Blog: Updating Applications for On-screen Input Methods

1
Munish Thakur On
<EditText android:numeric="decimal" />

only does not affect keypad to convert into decimal. Instead, use:

  <EditText android:inputType="phone" android:numeric="decimal"></EditText>

This will show the numeric keypad only.

0
Mark F Guerra On

If you're talking about restricting input to 0-9 + "." for an EditText box, I use the android:numeric="decimal" attribute in the layout XML.

<EditText android:numeric="decimal" />

If you're working with dynamically generated EditText views, the relevant method to call on it is setKeyListener()