【问题标题】:Codenameone Physical Device vs SimulatorCodenameone 物理设备与模拟器
【发布时间】:2016-02-22 15:24:08
【问题描述】:

您好,我刚刚在代号one 中开发了一个应用程序,它在模拟器中运行良好,但是当我在物理设备上安装相同的应用程序时,绘制的所有对象的大小都会减小。我想保持与模拟器中相同的大小。 使用的模拟器皮肤是:appleipadamini 使用的物理设备是:Apple 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

【问题讨论】:

    标签: codenameone


    【解决方案1】:

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

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

    【讨论】:

    • 我已经编辑了我的问题,因为尝试将像素值更改为 2000 X 1400 时出现新错误
    • 即使在模拟器上,您也有除法算术异常为 0。看来您正在以一种相当“创造性”的方式制作图形并依赖像素值而不是 codenameone.com/javadoc/com/codename1/ui/… 您在代码中做了什么?
    猜你喜欢
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 2021-05-15
    • 2012-07-08
    相关资源
    最近更新 更多