Does android have a numeric keypad?

霸气de小男生 提交于 2019-12-17 18:52:21

问题


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?


回答1:


Try doing android:inputType="phone" ?




回答2:


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




回答3:


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()




回答4:


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.




回答5:


<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.



来源:https://stackoverflow.com/questions/1654901/does-android-have-a-numeric-keypad

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!