Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 地图显示问题_Blackberry - Fatal编程技术网

Blackberry 地图显示问题

Blackberry 地图显示问题,blackberry,Blackberry,我想在Storm上全屏显示MapField,为此我使用了MapField.setPreferredSize(display.getWidth,display.getHeight)。但是,我没有看到尺寸为320X480的MapField,而是看到尺寸约为320X280的MapField,剩余空间(480-280=200)用黑色填充。我交叉检查了Display.getWidth()和Display.getHeight(320480)的值。听起来您的应用程序正在兼容模式下运行。您可以使用应用程序#Is

我想在Storm上全屏显示MapField,为此我使用了MapField.setPreferredSize(display.getWidth,display.getHeight)。但是,我没有看到尺寸为320X480的MapField,而是看到尺寸约为320X280的MapField,剩余空间(480-280=200)用黑色填充。我交叉检查了Display.getWidth()和Display.getHeight(320480)的值。

听起来您的应用程序正在兼容模式下运行。您可以使用应用程序#IsIntouch CompatibilityMode()检查此项。触摸兼容模式将风暴的可绘制区域修复为320x240,就像您正在经历的一样。

问题是,在风暴上,Display.getWidth()和getHeight()并不总是返回相同的内容——它们试图解释软键盘的存在(或不存在)。系统决定键盘是否存在的点是非常不合理的。(我想你已经明白了,这场风暴绝对糟糕透了。)

一种似乎有效的方法是在屏幕中设置子类sublayout(宽度、高度)。这将在风暴中被多次调用,因为系统会在计算发生了什么时失败。所以这意味着更多的计算,但它是有效的。你在那里看到的最后一个值是正确的

这是一个粗略的模板。请记住,这是在您的类中扩展屏幕的。(如主屏幕)


您好,Fostah,Thanx,谢谢您的回复。不,我的应用程序没有在兼容模式下运行。事实上,我的屏幕有三个组件:一个HorizontalManager包含一个EditField和一个按钮,然后我添加了一个MapField,然后又添加了一个HorizontalManager包含两个按钮。我试图在这两个水平管理器之间设置地图字段,但显示的尺寸要小得多。。
protected void sublayout(int width, int height) {
    super.sublayout(width, height);
    // the screen is acutally width X height
    // do your screen-specific stuff here
}