2016-02-05 78 views
1

你好,我刚刚在codenameone中开发了一个应用程序,它在模拟器中工作得非常好,但是当我在物理设备上安装相同的应用程序时,所有绘制对象的大小都减小了。我想保持与模拟器中相同的尺寸。 使用的模拟器皮肤是:appleipadamini 使用的物理设备是:Apple ipad mini 4 模拟器的高度和宽度选择为1000 X 700,但安装在物理设备上时它只是屏幕的一半。Codenameone物理设备vs模拟器

和第二图像是物理设备的

请帮助!!!!!!!!!!!!!!!!!!

你好,如你所回答的,我将像素值从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 

回答

0

您正在使用代表iPad Mini 1的皮肤,并在具有双倍像素数量的新视网膜设备上运行。

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

+0

我编辑了我的问题,因为我试图将像素值更改为2000时出现新错误X 1400 – Chika

+0

即使在模拟器上,除法为0的算术例外。看起来你正在用相当“有创意”的方式来制作图形,并依靠像素值而不是https://www.codenameone.com/javadoc/com/codename1/ui/Display.html#getDisplayWidth--你在做什么在你的代码? –

相关问题