强制android在基于HTML5页面的Web应用程序中显示电子邮件类型键盘

时间:2012-08-01 05:55:13

标签: android webview android-softkeyboard

我设计了一个 HTML5 页面,其中包含一个电子邮件类型的输入框。此HTML5页面将在 Android视图中的 Android应用程序中显示。

<input type="email" autofocus id="emailid"/>

我遇到的问题是Android没有显示电子邮件类型键盘,默认情况下会显示“@”和“.com”符号。 / p>

如何强制 Android 使用其中任何一种显示电子邮件类型键盘

提前致谢:)

3 个答案:

答案 0 :(得分:0)

目前,运行2.2或更低版本的设备不完全支持HTML5。 这些不受支持:

input type=search
input type=tel
input type=url
input type=email
input type=datetime
input type=date
input type=month
input type=week
input type=time
input type=datetime-local
input type=range
input type=color
input type=checkbox
input type=image
textarea
select
datalist
keygen
output
progress
field validation
form validation
APIs
Spellcheck attribute
Session history
Geolocation
Device Orientation
FileReader API
Local Storage
Access the camera
Full Screen 

确认:http://www.petefreitag.com/item/768.cfm

尝试在ICS或JB上运行您的应用程序,它应该可以正常运行。

答案 1 :(得分:0)

尝试检测服务器和下一个版本的Android操作系统:

1)如果OS = ICS或以上=>使用原生html 5

2)如果OS&lt; ICS =&gt;显示自定义HTML键盘

对于OS&lt;您应用中的ICS会禁用软键盘。

答案 2 :(得分:0)

键盘在Android中完全可插拔 - 因此有些不可预测。设备制造商几乎总是发布自定义键盘(可能会引入问题,例如:我看到一些HTC键盘无法处理IME_ACTIONS)。此外,用户可以免费下载并使用Play商店中的许多不同键盘。某些键盘可能没有电子邮件样式 - 可能是因为开发人员没有想到它,或者可能因为它不合适。例如:Graffiti keyboard之类的东西可能完全合法地忽略电子邮件样式?

我相信你能做的最好的事情就是处理支持的案例。如果&gt; = ICS支持输入类型=“电子邮件”而旧版本不支持,那么至少随着时间的推移,您的用户群应该转向更高比例的用户获得您想要的行为。

我不知道您的应用程序是什么样的,但如果您真的希望@ sign和.com键可见,则另一个选项是使用混合方法,您只需将这些键添加到您的html并允许用户点击那些或使用普通的可插拔Android键盘用于其他一切(或@标志和.com也是 - 如果他们的键盘包括它)