在非触摸黑莓设备(如 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 的商业版本中使用这个解决方案(他提到他的解决方案只适用于开源版本)?
2 回答
(今天早上看到你的邮件)
回到OP,
我们通过使用以下代码解决了这个问题。与来源相同的概念。我们让我们的项目在 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
. 它应该占据整个视口。我们已经在 BBOS 7+ 和 Sencha Touch 2 上开发了一个类似的应用程序,但是我们放弃了Sencha Touch 团队自己所说的让非触控设备工作的想法,这就是为什么 Sencha Touch 被称为 Sencha TOUCH并且他们赢了' t 支持非触摸式移动设备。
这是相当可怕的。我们无法让它在非触摸设备上工作,所以最后我们放弃了对非触摸设备的支持。我不能告诉你我们的方法是什么,因为我不记得这个问题的确切细节。粗略地说,我
sencha-touch-all-debug
在欺骗 Sencha 时搞砸了,该代码在桌面上运行以模拟点击,但触控设备将无法工作,因为无法将触控识别为点击。我会说与事件调度有关。我们花了将近一周的时间来解决这个问题,但最终还是放弃了。至今没有解决办法。我们只是将其保留在触摸设备上。
最后,@ http://www.sencha.com/forum/showthread.php?151188-Blackberry-Webworks-Issues提出的解决方案适用于屏幕尺寸问题。
我只需要将代码块添加到我的项目的 sdk 视口文件夹(并添加 Blackberry.js 文件)。
关于我的第二个问题,看起来没有解决方案(如莱昂内尔所写)