嘗試使用setMargin(5,5,5,5)
而不是setPadding(5,5,5,5)
。
Field#setMargin()
保證金是現場外的區域,邊界之後。由於這些重疊,經理正確分配利潤率。
Field#setPadding()
填充是內容和邊框之間的區域內的區域。
Field#SetBorder()
邊框是填充之外和邊距之前的區域內的區域。
UPDATE:
你是正確的,與setMargin()
更換setPadding()
而已,並沒有產生預期的結果。原因是您正在使用的Border
,更準確地說它的厚度()和樣式(STYLE_SOLID)。減小邊框厚度至並將其更改爲STYLE_FILLED。
上述變化
而且現在的代碼片段後:
public class PlayingWithBorders extends MainScreen {
public PlayingWithBorders() {
super(NO_VERTICAL_SCROLL | NO_HORIZONTAL_SCROLL | USE_ALL_HEIGHT | USE_ALL_WIDTH);
VerticalFieldManager vfm = new VerticalFieldManager(USE_ALL_HEIGHT | USE_ALL_WIDTH);
vfm.setBackground(BackgroundFactory.createSolidBackground(Color.CYAN));
BasicEditField emailField = new BasicEditField();
emailField.setLabel("Email: ");
emailField.setPadding(5, 5, 5, 5);
emailField.setMargin(5, 5, 5, 5);
emailField.setBorder(BorderFactory.createRoundedBorder(new XYEdges(3, 3, 3, 3), 0x0083B0D7, Border.STYLE_FILLED));
emailField.setBackground(BackgroundFactory.createSolidBackground(Color.WHITE));
BasicEditField passwordField = new BasicEditField();
passwordField.setLabel("Password: ");
passwordField.setPadding(5, 5, 5, 5);
passwordField.setMargin(5, 5, 5, 5);
passwordField.setBorder(BorderFactory.createRoundedBorder(new XYEdges(3, 3, 3, 3), 0x0083B0D7, Border.STYLE_FILLED));
passwordField.setBackground(BackgroundFactory.createSolidBackground(Color.WHITE));
vfm.add(emailField);
vfm.add(passwordField);
add(vfm);
}
歡迎#1。圖像附件固定。 – menjaraz 2012-03-21 13:58:41
檢查我的更新我的答案。 – mrvincenzo 2012-03-22 10:16:03