Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
Codenameone 模拟器不同于IPhone_Codenameone - Fatal编程技术网

Codenameone 模拟器不同于IPhone

Codenameone 模拟器不同于IPhone,codenameone,Codenameone,我正在设置按钮、文本字段和图片,以便在IPhone6上有一个完美的外观。 然后我把它放在真正的iPhone6上,有一些不同。 图片不在中央,一个按钮在外面有一半。 我手工编程,没有gui生成器。 设置按钮、标签、文本字段的最佳方式是什么。。。所以他们是 是否正确放置在硬件上 下面是我的示例代码: Form dlgpass = new Form(""); dlgpass.setLayout(new BoxLayout(BoxLayout.Y_AXIS)); Image img2;

我正在设置按钮、文本字段和图片,以便在IPhone6上有一个完美的外观。 然后我把它放在真正的iPhone6上,有一些不同。 图片不在中央,一个按钮在外面有一半。 我手工编程,没有gui生成器。 设置按钮、标签、文本字段的最佳方式是什么。。。所以他们是 是否正确放置在硬件上

下面是我的示例代码:

Form dlgpass = new Form("");
    dlgpass.setLayout(new BoxLayout(BoxLayout.Y_AXIS));

    Image img2;
    try {
        img2 = Image.createImage("/xz.jpg");
        Container cco2 = BoxLayout.encloseX();
        Label llc1 = new Label(" ");
        Label llc2 = new Label(" ");

        cco2.getStyle().setMarginBottom(50);
        cco2.getStyle().setMarginTop(20);
        cco2.add(llc1).add(img2).add(llc2);
        dlgpass.add(cco2);
        Label ll4 = new Label("        ");
        Label ll5 = new Label("    ");

        Container cco3 = BoxLayout.encloseX();
        Label llc3 = new Label(„test");
        cco3.getStyle().setMarginTop(100);
        cco3.add(ll4).add(llc3).add(ll5);

        Container cco4 = BoxLayout.encloseX();
        TextField pa = new TextField("", "Password", 16, TextField.PASSWORD);
        Label ll6 = new Label("   ");
        Label ll7 = new Label("     ");
        cco4.getStyle().setMarginTop(60);
        cco4.add(ll6).add(pa).add(ll7);
        dlgpass.add(cco4);

        Button logi = new Button("          login          ");
        logi.addActionListener((e) -> chlogi(pa.getText(),ce));

        Label ll1 = new Label("              ");
        Label ll2 = new Label("        ");       
        Container cco1 = BoxLayout.encloseX();
        cco1.getStyle().setMarginTop(60);
        cco1.add(ll1).add(logi).add(ll2);
        dlgpass.add(cco1);
图片为629x810像素,24位颜色。 这是一个用于登录的Splashscreen

图片如下:

编辑 陈,这就是我试过的。这是你的意思吗

Form dlgpass = new Form("", new BorderLayout());
            Image img2;
            img2 = Image.createImage("/xx.jpg");
            ScaleImageLabel simg = new ScaleImageLabel(img2);
            dlgpass.add(BorderLayout.CENTER, simg);
            Container cco = new Container(new BorderLayout());
            TextField pa = new TextField("", "Password", 16, TextField.PASSWORD);
            cco.addComponent(BorderLayout.NORTH,pa);
            FlowLayout flow = new FlowLayout(Component.CENTER);
            flow.setValign(Component.BOTTOM);
            Container cco1 = new Container(flow);
            Button logi = new Button("       login       ");
            logi.addActionListener((e) -> chlogi(pa.getText(),ce));
            cco1.addComponent(logi);
            cco.addComponent(BorderLayout.SOUTH,cco1);
            dlgpass.addComponent(BorderLayout.SOUTH,cco);

要了解布局定位的可移植性,请查看关于有效使用布局管理器的视频


还可以查看允许图像适应各种大小的多图像。

要了解版面定位的便携性,请查看此视频,了解如何有效使用版面管理器


还可以查看允许图像适应各种大小的多图像。

避免空格、空标签,在组件上设置边距使用布局将组件放置在起始位置。 在您的用例中,我可能会这样做:

  • 表单-边框布局

    • ScaleImageLabel-中心
    • 集装箱(边界布局)-南部
      • 文本场-北
      • 集装箱(FlowLayout中心)-南部
        • 钮扣

如果需要/希望为组件留出空间,请在组件上使用setUIID(),并在主题中调整边距和/或填充(始终使用mm)

避免使用空格、空标签,在组件上设置边距使用布局将组件放置在“从”上。 在您的用例中,我可能会这样做:

  • 表单-边框布局

    • ScaleImageLabel-中心
    • 集装箱(边界布局)-南部
      • 文本场-北
      • 集装箱(FlowLayout中心)-南部
        • 钮扣

如果您需要/想要分隔组件,请在组件上使用setUIID(),并在主题中调整边距和/或填充(始终使用mm)

我们需要图片和一些代码示例,它们可能会有所不同,但根据您的描述,更多的是密度问题。稍后我将(可以)提供代码和图片。当我思考的时候,有没有一种方法可以通过屏幕宽度和高度的百分比来设置一个带有x-y坐标的按钮。如果是这样的话,IOS、Android和其他系统将不会出现问题。我们需要图片和一些代码示例,它们可能会有所不同,这可能是因为这个原因,但根据您的描述,更多的是密度问题。我将(可以)稍后提供代码和图片。当我思考的时候,有没有一种方法可以通过屏幕宽度和高度的百分比来设置一个带有x-y坐标的按钮。如果是这样的话,IOS、Android和其他系统就不会有问题了。我仍然会检查你提供的链接。您要求的示例代码现在在问题中。顺便说一句:谢谢你的帮助!陈的回答解决了问题吗?如果是这样的话,你需要接受它或者问一些澄清性的问题,这样我们就知道了……谢伊,请稍等,我现在试着用陈的提示来编写代码。但这不是目前唯一需要编码的项目。我仍然会检查你提供的链接。您要求的示例代码现在在问题中。顺便说一句:谢谢你的帮助!陈的回答解决了问题吗?如果是这样的话,你需要接受它或者问一些澄清性的问题,这样我们就知道了……谢伊,请稍等,我现在试着用陈的提示来编写代码。但这不是目前唯一需要编写代码的项目。我将尝试用您的提示来修复它。它看起来很有用。谢谢你有经验的信息。我会尝试用你的提示来修复它。它看起来很有用。感谢经验丰富的信息。