码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-06-16 18:42:31      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:sencha   cordova   phonegap   wp8   移动开发   

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


我来描述一下这个现象:

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

bubuko.com,布布扣


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

bubuko.com,布布扣


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

bubuko.com,布布扣



我的一些研究结果:

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 ,

把:

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

改成:

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



欢迎加入Sencha Touch + Phonegap 群:194182999

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

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

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

标签:sencha   cordova   phonegap   wp8   移动开发   

原文地址:http://blog.csdn.net/lovelyelfpop/article/details/30992497

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!