相同的Codename One轻型选择器通过以下两种方式出现(区别是Android上为“ 01/01/00”,iPhone上为“ 01/01/2000”)。
我需要修复有关外观的两个问题。第一个是日期:“ 01/01/00”不好,“ 01/01/2000”更好,“ 1 gennaio 2000”(意大利语本地化)是我在两种操作系统上都喜欢的。
第二个是选择器的内部布局:在iPhone屏幕快照上,您可以看到日期选择器不在居中,而是在左侧对齐。最好将两个操作系统的中心对齐。同样的问题在Android上也存在,但这种情况下不太明显。
答案 0 :(得分:1)
可以使用以下方式自定义日期格式:
picker.setFormatter(mySimpleDateFormat);
这应该允许您显式定义格式。默认设置是使用您的设备设置来说明它们之间的区别。
请注意,您应该使用com.codename1.l10n.SimpleDateFormat
版本而不是java.text
版本。
关于居中,我不确定是否可行。这对于iOS的本机选择器来说也是一个痛苦。您可以对此提出RFE,我们可以尝试一下。
答案 1 :(得分:1)
为了最大程度地进行定制,也许还有以下类似的机会:
Picker value = new Picker() {
@Override
protected void updateValue() {
if (getDate() == null) {
setText(" ");
return;
}
setText(L10NManager.getInstance().formatDateLongStyle(getDate()));
}
};