我設置按鈕,textfields和圖片,以便有一個完美的模擬器IPhone6看。 然後我把它放在一個真正的iPhone 6上,有一些差異。 圖片不是中心的,一個按鈕是外面的一半。 我沒有gui builder手動編程。 什麼是最好的方式,設置按鈕,標籤,文本區域......以便它們正確地放置在硬件上?模擬器是不同的IPhone
這裏我的示例代碼:
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位色。 這是一個可以登錄的畫面。
的圖片:
編輯 陳,這是我的嘗試。這是你的意思嗎?
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);
我們需要的圖片和一些代碼不同的樣本可能是因爲這個https://www.codenameone.com/blog/pixel-perfect-material-buttons.html,但基於你的描述,它更多的是密度問題。 –
我將(可以)稍後提供的代碼和圖片。 當我想到[鏈接](https://stackoverflow.com/questions/42887456/codename-one-user-interface-layout-on-simulator-and-a-real-android-device-are-c?rq = 1), 有沒有辦法設置按xy座標按屏幕寬度和高度的百分比按鈕。 如果是這樣,IOS和Android等都不會出現問題。 – orgen