2010-07-09 71 views
13

我正在开发一个android应用程序,我们使用WebView来显示从Web服务器提供的Web页面。除了当我使用软键盘并切换到数字键输入并从第一个字段移动到下一个字段时,键盘布局自动更改为字母数字,这一切都工作正常。Android上的数字软键盘

有没有什么办法可以在数字模式下拉起虚拟键盘,只有当我需要输入数字时?

感谢和问候。

+0

当用户关注输入=数字的网页编辑字段时,我们如何默认为数字软键盘? – 2010-07-13 22:49:34

回答

0

是否有使用,我可以 拉起在数字 模式虚拟键盘,只有当我只需要输入数字 什么办法?

是的,你可以用numbernumberDecimal值指定android:inputType XML属性:

<EditText 
android:text="" 
android:id="@+id/editTextNumber" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:inputType="numberDecimal"> 
</EditText> 

享受!

+0

你用Webview试过了吗? @Shivaansh – 2010-07-10 06:11:44

+1

嗨帕雷什。感谢您的回应。我们只面向WebView使用这个问题。 – 2010-07-13 22:48:36

+1

是的,问题是关于webview输入字段。 – Ixx 2013-05-22 09:07:57

28
editTextField.setRawInputType(Configuration.KEYBOARD_QWERTY); 

这显示了数字版本第一个正常的小键盘,但允许您在它们之间切换。

getInput.setRawInputType(Configuration.KEYBOARD_12KEY); 

这只显示数字,没有选项可输入文本值。

我遇到了类似的情况。我只想要数字值,但我有一个“提示”是文本。将inputType设置为数字将不允许显示提示。这工作很好。

+5

不应该使用InputType.TYPE_CLASS_NUMBER而不是Configuration.KEYBOARD_QWERTY,而使用InputType.TYPE_CLASS_PHONE而不是Configuration.KEYBOARD_12KEY?这些是相同的int值,所以具有相同的影响,但我认为这些是正确的类型。 – SteelBytes 2011-03-12 04:29:28

+0

这对我有用。谢谢! – rDroid 2012-01-08 09:16:02

+0

user455451,我有同样的问题,我试过你的方法。不幸的是,它不起作用:如果我使用TYPE_CLASS_NUMBER(或配置.KEYBOARD_QWERTY - 代码是相同的)我得到数字小键盘没有可能切换到文本输入。也许问题出在Android上?我有2.1版本。 – 2012-02-22 17:14:39

1

如果你谈论的是HTML,你可以使用HTML5的特性,例如:

Number: <input type="number" name="points" min="1" max="10" /> 

在HTC Desire的浏览器进行了测试,它带来了,当你将数据输入到这些不同的(数字)键盘领域。

+0

是的,这应该在许多情况下工作。但是,如果您碰巧为您的HTML5浏览器应用程序使用jQueryMobile,请键入= number不会触发数字键盘。 – Wytze 2012-06-29 07:51:52

+0

对于我的PhoneGap应用程序,指定type =“number”仅在用户输入一个字符后才会显示数字键盘。这个jQuery修复了我的问题(所有这些输入都有一类引脚):$(“。pin”)。live('tap',function(){ \t $(this).focus(); \t }); – 2012-09-07 13:24:12

2

Configuration.KEYBOARD_12KEYConfiguration.KEYBOARD_QWERTY是走错了路。

你必须在EditText setRawInputType()使用InputType (show doc here)

+1

将原始输入类型设置为TYPE_CLASS_NUMBER仍然会将大多数软输入锁定为仅数字模式。 – 2015-01-29 07:53:40