많은 가능성이 있습니다. 서비스 목록을 보유하고있는 컨테이너의 여백을 조정할 수 있습니다. 또한 사용자 정의 필드 관리자 등을 만들 수 있습니다.
옵션 1 : 조정 마진
VerticalFieldManager vfmServices = new VerticalFieldManager(VerticalFieldManager.USE_ALL_WIDTH);
vfmServices.add(new RichTextField("• Computer & Laptop"));
vfmServices.add(new RichTextField("• Modem/Router/Switches"));
vfmServices.add(new RichTextField("• Printer/Scanner"));
vfmServices.add(new RichTextField("• Tablet"));
final int horizontalMargin = 30;
vfmServices.setMargin(0, horizontalMargin, 0, horizontalMargin);
add(vfmServices);
옵션 2 : 사용자 정의 필드 매니저를 사용
VerticalFieldManager vfmServiceLists = new VerticalFieldManager(VerticalFieldManager.USE_ALL_WIDTH);
vfmServiceLists.add(new RichTextField("• Computer & Laptop"));
vfmServiceLists.add(new RichTextField("• Modem/Router/Switches"));
vfmServiceLists.add(new RichTextField("• Printer/Scanner"));
vfmServiceLists.add(new RichTextField("• Tablet"));
Manager mListContainer = new Manager(Manager.USE_ALL_WIDTH) {
final int horizontalMargin = 30;
protected void sublayout(int width, int height) {
// this manager designed to contain only one list container.
if (getFieldCount() == 1) {
Field child = getField(0);
layoutChild(child, width - 2 * horizontalMargin, height);
// adjust manager height.
height = child.getHeight();
setPositionChild(child, horizontalMargin, 0);
}
setExtent(width, height);
}
};
mListContainer.add(vfmServiceLists);
add(mListContainer);
[추가 나중에] 대신 레이블 필드를 사용하는 경우 alishaik786으로
는 의견에 제안 RichTextField의 경우 여백을 사용하지 않는 다음 코드를 확인할 수 있습니다.
VerticalFieldManager vfmServiceLists = new VerticalFieldManager();
vfmServiceLists.add(new LabelField("• Computer & Laptop"));
vfmServiceLists.add(new LabelField("• Modem/Router/Switches"));
vfmServiceLists.add(new LabelField("• Printer/Scanner"));
vfmServiceLists.add(new LabelField("• Tablet"));
Manager mListContainer = new Manager(Manager.USE_ALL_WIDTH) {
protected void sublayout(int width, int height) {
// this manager designed to contain only one list container.
if (getFieldCount() == 1) {
Field child = getField(0);
layoutChild(child, width, height);
// adjust manager height.
height = child.getHeight();
setPositionChild(child, (width - child.getWidth())/2, 0);
}
setExtent(width, height);
}
};
mListContainer.add(vfmServiceLists);
add(mListContainer);
수단은 각 행과 배경을 원하십니까 회색 색깔? 또는 선을 긋는 것이 필요합니다. 가장 오른쪽과 왼쪽으로 화면의 가장 오른쪽에 위치합니까? –
레이블 필드 대신 RichTextField를 사용합니다. – alishaik786
RichTextField가 모든 너비를 사용하고 필드 옆에 필드를 추가하지 않기 때문에. 이번에는 너비와 높이를 제공하기 위해 sublayout() 메서드를 사용해야합니다. 화면 가운데 부분에 여백을 두십시오. 그래서 LabelField를 사용하는 것이 더 좋습니다 – alishaik786