This is my test case, as you can see, on IOS and Simulador the Valign is center on the Label and on the Picker, but on Android is align on Top, this success in all components:
package test.kandy;
import com.codename1.ui.Display;
import com.codename1.ui.Font;
import com.codename1.ui.FontImage;
import com.codename1.ui.Form;
import com.codename1.ui.Label;
import com.codename1.ui.layouts.BoxLayout;
import com.codename1.ui.plaf.Style;
import com.codename1.ui.spinner.Picker;
public class ShaiForm extends Form {
private Form previous;
public ShaiForm() {
setLayout(new BoxLayout(BoxLayout.Y_AXIS));
int fontSize = Display.getInstance().convertToPixels(3);
Font appFont = Font.createTrueTypeFont("Suisse Int'l", "Suisse Int'l.ttf" ).derive(fontSize, Font.STYLE_PLAIN);;
FontImage fntImage = FontImage.createFixed("\uE161", FontImage.getMaterialDesignFont(), 0x0, 100, 100);
Label labelCustomTTF = new Label ("custom TTF");
Style labelStyle = labelCustomTTF.getAllStyles();
labelStyle.setFont(appFont);
labelCustomTTF.setIcon(fntImage);
Label labelNative = new Label ("native Font");
labelNative.setIcon(fntImage);
Picker stringPickerCustom = new Picker();
Style pickerStyle = stringPickerCustom.getAllStyles();
pickerStyle.setFont(appFont);
stringPickerCustom.setType(Display.PICKER_TYPE_STRINGS);
stringPickerCustom.setStrings("custom TTF Font");
stringPickerCustom.setText("custom TTF Font");
Picker stringPickerNative = new Picker();
stringPickerNative.setType(Display.PICKER_TYPE_STRINGS);
stringPickerNative.setStrings("native Font");
stringPickerNative.setText("native Font");
add(labelCustomTTF);
add(labelNative);
add(stringPickerCustom);
add(stringPickerNative);
}
public void show() {
previous = Display.getInstance().getCurrent();
super.show();
}
public void goBack(){
previous.showBack();
}
}