在非触摸式黑莓设备(如 Bold)上部署简单的 Sencha Touch 2 应用程序时, webfield 显示的内容高度约为 6 像素,而不是 100% 高度。 该线程上提供了一个解决方案: http://www.sencha.com/forum/showthread.php?151188-Blackberry-Webworks-Issues 但是,当我添加代码时,没有任何改变。 问题:如何解决这个问题?
在 sencha 应用程序中禁用鼠标光标并启用非触摸 BB 设备的默认导航样式。 这里提供了一个解决方案:http://resilientcoder.blogspot.co.il/2011/03/getting-sencha-touch-to-work-on-non.html不幸的是,看起来它是为 sencha touch 1 而不是 2 编写的。 问题:有更好的解决方案吗?如果没有,我如何在 sencha touch 的商业版本中使用这个解决方案(他提到他的解决方案仅适用于开源版本)?
最佳答案
(今天早上早些时候看到你的邮件)
回到OP,
我们使用以下代码解决了这个问题。与 source 中的概念相同。我们的项目在 Blackberry Bold 9790(设备)上运行,但不在任何模拟器上运行,因为当我们向文件系统写入内容时它会崩溃。
(function() { // Define a blackberry viewport Ext.define('Ext.viewport.Blackberry', { extend: 'Ext.viewport.Default', constructor: function (config) { // Blackberry does not like height: 100% this.superclass.config.height = this.getWindowHeight() + 'px'; this.callParent([config]); return this; }, getWindowHeight: function () { //Don't know why need to deduct by 120?! return window.innerHeight-120; } }); // Insert a new Blackberry specific viewport Ext.override(Ext.viewport.Viewport, { constructor: function (config) { return Ext.create('Ext.viewport.Blackberry', config); } }); })();
然后,您可以创建任何组件并提供
fullscreen: true
。它应该占据整个视口(viewport)。我们在 BBOS 7+ 和 Sencha Touch 2 上开发了类似的应用程序,但我们放弃了让非触摸设备像 stated by Sencha Touch team themselves, this is why Sencha Touch is called Sencha T O U C H 一样工作的想法。并且它们不支持非触摸移动设备。
这真是太可怕了。我们无法让它在非触摸设备上工作,所以最终我们放弃了对非触摸设备的支持。我无法告诉您我们的方法是什么,因为我不记得这个问题的确切细节。粗略地说,我用
sencha-touch-all-debug
欺骗 Sencha,让该代码在桌面上运行,以便模拟点击,但是触摸设备将无法工作,因为触摸无法被识别为点击。我想说的是与事件调度有关的事情。我们花了将近一周的时间来解决这个问题,但最终还是放弃了。目前还没有解决办法。我们只是将其保留在触摸设备上。
关于blackberry - Sencha 触摸 : non-touch Blackberry support,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11616875/