我在基于PhoneGap的Android应用程序中遇到了一个奇怪的问题.在某些屏幕上,数字9键完全被忽略.这种情况发生在我的所有Android 2.X设备上.我尝试过以前版本的PG,发现问题首先出现在v1.2中.
以下是应该重现该问题的示例index.html文件的代码.在Android 2.2和2.3上,标记为"已损坏"的文本框不接受数字9作为输入.
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<style>
body
{
margin:0;
padding:0;
font-size:20px;
}
input
{
height:20px;
}
#container_second
{
overflow:hidden;
position:relative;
width:100%;
height:150px;
}
#container_second div
{
left: -2000px;
position: absolute;
-webkit-transform: matrix(1, 0, 0, 1, 2000, 0);
}
</style>
</head>
<body>
<br />
<div id="container_first">
<div>
Working Text: <br /><input type="text" /><br /><br />
Working Tel: <br /><input type="tel" />
</div>
</div>
<br /><br />
<div id="container_second">
<div>
Broken Text: <br /><input type="text" /><br /><br />
Broken Tel: <br /><input type="tel" />
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Jas*_*tas 17
它可能与此问题有关.出于某种原因,PhoneGap在Web视图的WebSettings上调用setNavDump.setNavDump是一个根据android文档的过时方法,所以如果你禁用它你应该没问题.
一种方法是通过覆盖扩展DroidGap的类中的init方法
@Override
public void init() {
super.init();
this.appView.getSettings().setNavDump(false);
}
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请尝试loadUrl在现有onCreate方法中调用后添加它:
@Override
public void onCreate(Bundle savedInstanceState) {
//... snip ...
super.loadUrl("file:///android_asset/www/index.html", 12000);
this.appView.getSettings().setNavDump(false);
//... snip ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |