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


    这个现象仅仅出如今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的问题)



    今天弄出来一个解决的方法:

    改动此文件:platformswp8MainPage.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

  • 相关阅读:
    模块化工具require 学习笔记
    学习Jade模板引擎
    通过border来实现各种三角符号
    使用vscode 编译 sass
    Javascript 运行机制
    Vue调试工具 vue-devtools
    MVVM框架
    通信类
    面向对象
    原型和原型链
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7352683.html
Copyright © 2020-2023  润新知