Home >php教程 >php手册 >[Phonegap+Sencha Touch] 移动开发24 打包wp8.1的App,运行时输入框聚焦弹出软键盘之后,界面上移而不恢复原位的解决办法

[Phonegap+Sencha Touch] 移动开发24 打包wp8.1的App,运行时输入框聚焦弹出软键盘之后,界面上移而不恢复原位的解决办法

WBOY
WBOYOriginal
2016-06-13 09:33:23813browse

这个现象只出现在phonegap打包sencha touch的wp8.1程序会出现(仅wp8.1,wp8正常),其它js框架我测试了几个(app framework, jquery mobile),好像没有这个问题。


我来描述一下这个现象:

1、运行phonegap打包的wp8程序,打开一个有输入框的界面,如下图:



2、点击输入框,使其弹出软键盘,界面会上移,如下图:



3、点返回键隐藏软键盘(或者点击界面上其它地方隐藏软键盘),此时界面不恢复原位,如下图:




我的一些研究结果:

1、这种现象只出现在隐藏了app的状态栏的时候(即修改了MainPage.xaml文件shell:SystemTray.IsVisible="False")。

2、sencha app build native:运行时会出现这种现象

3、我做了一个phonegap app,用来加载远程网站(而不是本地的html+js),测试出来:

sencha app build production:这种方法编译出来的网站,用phonegap app浏览,没有这种现象
sencha app build package:这种方法编译出来的网站,用phonegap app浏览,有这种现象

4、wp8.1自带的IE浏览器,无论浏览production还是package的网站,都没有这种现象


综上:估计这个问题,既是sencha touch的问题,好像也是phonegap的问题(或者wp8.1的webbrowser的问题)



今天弄出来一个解决办法:

修改此文件:\platforms\wp8\MainPage.xaml ,

把:

<code><my:CordovaView HorizontalAlignment="Stretch" 
               Margin="0,0,0,0"  
               x:Name="CordovaView" 
               VerticalAlignment="Stretch" /></code>

改成:

<code><my:CordovaView HorizontalAlignment="Stretch" 
               Margin="1,0,0,0"  
               x:Name="CordovaView" 
               VerticalAlignment="Stretch" /></code>
当然,还有要去掉状态栏显示,shell:SystemTray.IsVisible="False"



欢迎加入Sencha Touch + Phonegap 群:194182999

共同学习交流(博主QQ:479858761)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP 高级编程(3)Next article:php中的extract函数应用