저는 Blackberry 응용 프로그램을 개발하는 Android 개발자입니다.Blackberry의 버튼 필드에서 화면 중앙에 텍스트를 설정 하시겠습니까?
화면의 전체 너비 버튼을 만들었습니다. 텍스트를 단추 영역의 가운데로 이동하는 데 문제가 발생합니다. 코드 아래 사용
:
ButtonField _contactButton = new ButtonField(Constants.contactButtonTitle,Field.FIELD_HCENTER|Field.USE_ALL_WIDTH |
Field.ACTION_INVOKE | Field.FOCUSABLE | ButtonField.CONSUME_CLICK){
protected void layout(int width, int height) {
super.layout(width, height);
HARD_CODED_HEIGHT = this.getHeight()/2 + 6;
this.setExtent(contactButtonWidth, HARD_CODED_HEIGHT);
}
public int getPreferredWidth() {
return contactButtonWidth;
}
};
이제 아래의 코드를 사용하여 :
ButtonField _contactButton = new ButtonField(Constants.contactButtonTitle,Field.FIELD_VCENTER|Field.USE_ALL_WIDTH |
Field.ACTION_INVOKE | Field.FOCUSABLE | ButtonField.CONSUME_CLICK){
protected void layout(int width, int height) {
super.layout(getPreferredWidth(), height);
}
public int getPreferredWidth() {
return (Display.getWidth()-60);
}
};
여전히 점점 문제가 .. 내 버튼의 텍스트가 오른쪽에 정렬합니다. 제발 제안하십시오
문제가 this.setExtent (contactButtonWidth, HARD_CODED_HEIGHT);와 같습니다. 이 줄을 바꿔서 올바른 위치를 얻으실 수 있습니다. – Signare
setExtent를 사용하여 단추의 높이와 너비를 설정했습니다. 전체 화면 너비의 단추가 필요합니다. –
레이아웃하려는 치수 (예 : super.layout (contactButtonWidth, HARD_CODED_HEIGHT))를 전달합니다.일반적으로, layout()을 호출 한 후에 setExtent()를 발행하는 것은 나쁜 습관이며 원하는 결과를 얻지 못할 수도 있습니다 (몇 가지 경우가있을 수 있음). 따라서 원하는 크기로 전달하면 (그리고 USE_ALL_HEIGHT도 사용해야합니다.) 작동하지 않으면 paint()를 재정의 (override)해야합니다. –