Codenameone物理设备vs模拟器

Codenameone物理设备vs模拟器,codenameone,Codenameone,您好,我刚刚在codenameone中开发了一个应用程序,它在模拟器中运行得非常好,但当我在物理设备上安装相同的应用程序时,绘制的所有对象的大小都会减小。我想保持它在模拟器中的大小不变。 使用的模拟器皮肤为:appleipadamini 使用的物理设备是:苹果ipad mini 4 选择的模拟器高度和宽度为1000 X 700,但安装在物理设备上时相同,仅占屏幕的一半 第二个图像是物理设备的图像 请帮忙 您好,正如您所回答的,我将像素值从1000 X 700更改为实际设备的精确大小,即2048

您好,我刚刚在codenameone中开发了一个应用程序,它在模拟器中运行得非常好,但当我在物理设备上安装相同的应用程序时,绘制的所有对象的大小都会减小。我想保持它在模拟器中的大小不变。 使用的模拟器皮肤为:appleipadamini 使用的物理设备是:苹果ipad mini 4 选择的模拟器高度和宽度为1000 X 700,但安装在物理设备上时相同,仅占屏幕的一半

第二个图像是物理设备的图像

请帮忙

您好,正如您所回答的,我将像素值从1000 X 700更改为实际设备的精确大小,即2048 X 1536。但是,在呈现窗体时,我没有收到错误

An exception occurred during transition paint this might be valid in case of a resize in the middle of a transition.
 java.lang.NullPointerException at sun.java2d.SunGraphics2D.getClipBounds(Unknown Source)
 at sun.java2d.SunGraphics2D.getClipBounds(Unknown Source)
 at com.codename1.impl.javase.JavaSEPort.getClipX(JavaSEPort.java:3675)
 at com.codename1.ui.Graphics.getClipX(Graphics.java:171)
 at com.codename1.ui.Component.paintInternalImpl(Component.java:1255)
 at com.codename1.ui.Component.paintInternal(Component.java:1242)
 at com.codename1.ui.Container.paint(Container.java:1290)
 at com.codename1.ui.Component.internalPaintImpl(Component.java:1293)
 at com.codename1.ui.Component.paintInternalImpl(Component.java:1267)
 at com.codename1.ui.Component.paintInternal(Component.java:1242)
 at com.codename1.ui.Component.paintInternal(Component.java:1210)
 at com.codename1.ui.Component.paintComponent(Component.java:1488)
 at  com.codename1.ui.animations.CommonTransitions.paint(CommonTransitions.java:1164)
 at com.codename1.ui.animations.CommonTransitions.paint(CommonTransitions.java:723)
 at com.codename1.ui.Display.paintTransitionAnimation(Display.java:922)
 at com.codename1.ui.Display.edtLoopImpl(Display.java:1041)
 at com.codename1.ui.Display.mainEDTLoop(Display.java:994)
 at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
 at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
 [EDT] 0:0:0,1 - java.lang.ArithmeticException: / by zero
 [EDT] 0:0:0,1 - java.lang.ArithmeticException: / by zero

你使用的是一个代表iPadMini1的皮肤,在一个新的视网膜设备上运行,该设备的像素数量是原来的两倍


您不能依赖屏幕上的像素数量,需要编写代码以支持不同的密度。这就是为什么我们有布局管理器、多图像等。这在中进行了一定程度的讨论。

您正在使用一个代表iPad Mini 1的皮肤,并在一个新的视网膜设备上运行,该设备的像素数量是原来的两倍


您不能依赖屏幕上的像素数量,需要编写代码以支持不同的密度。这就是为什么我们有布局管理器、多图像等。这在中进行了一定程度的讨论。

我编辑了我的问题,因为我在尝试将像素值更改为2000 X 14000时遇到了新的错误。即使在模拟器上,也存在除法为0的算术异常。似乎你正在以一种相当“创造性”的方式绘制图形,并且依赖于像素值,而不是你在代码中做什么?我已经编辑了我的问题,因为我在尝试将像素值更改为2000 X 14000时遇到了新的错误。即使在模拟器上,你也有除法为0的算术异常。看起来你正在以一种相当“创造性”的方式制作图形,并且依赖于像素值,而不是你在代码中做什么?