2012-03-08 4 views
1

첫 번째 BlackBerry 응용 프로그램을 개발 중이며 배경을 검정색으로 변경하고 모든 텍스트 (BasicEditField 레이블, Label 등)의 흰색으로 변경하고 싶습니다.Blackberry에서 배경을 검정색으로 만드는 방법은 무엇입니까?

VerticalFieldManager에서 setBackground(Background bg) 방법을 사용해 보았지만 구성 요소가 간다면 화면이 검게 변했습니다. 즉, 내가 두 개의 버튼이 하나 아래에있는 경우 배경은 버튼 끝까지 검은 색에 불과합니다. 따라서 화면에 구성 요소가 적 으면 화면이 검은 색이고 반은 흰색입니다.

  • 전체 화면이 블랙해야한다 :

    내가 원하는 동작을 얻을 수있는 방법이 있습니까.

  • 모든 텍스트 레이블은 이어야합니다. 흰색이어야합니다.

대단히 감사합니다!

답변

4

이 코드는 이제 글꼴 색상을 변경

EditField edit= new EditField("", "", 100, Field.FOCUSABLE){ 
protected void paintBackground(Graphics g) { 
      g.setBackgroundColor(Color.WHITE); 
      g.clear(); 
     } 



backg.add(edit); 
add(backg); 

사용 g.setColor(Color.WHITE);로 editfield을 추가 흰색

VerticalFieldManager backg = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT){ 
public void paint(Graphics graphics) { 
graphics.setBackgroundColor(Color.BLACK); 
graphics.clear(); 
super.paint(graphics); 
    } 
}; 

으로 검정과 editfield 같은 배경을 설정합니다.

+0

정말 도움이되었습니다. 고마워요! – Roshnal

+0

그런 다음 대답을 수락하십시오 .... – Signare

+0

g.setColor (Color.WHITE); 글꼴 색상이 흰색으로 바뀝니다. – Signare

2

Signare 버전은 이전 버전에서는 작동하지만 OS 4.6에서는 다른 옵션이 있습니다. net.rim.device.api.ui.decor 패키지의 수업을 확인하십시오. 내 프로그램 중 하나에 화면의 배경을 변경하려면이 옵션을 사용하고

: 당신의 필드의

public class MyScreen extends MainScreen { 

    MyScreen() { 

     Background screenColor = BackgroundFactory.createSolidBackground(Color.Black); 
     Manager backg= getMainManager(); 
     backg.setBackground(screenColor); 

     EditField edit = new EditField("", "", 100, Field.FOCUSABLE){ 
      protected void paint(Graphics g) { 
       g.setColor(Color.WHITE); 
       super.paint(g); 
      } 
     }; 
     Background fieldColor = BackgroundFactory.createSolidBackground(Color.BLACK); 
     edit.setBackground(fieldColor); 

     backg.add(edit); 
    } 
} 

모든 당신이 멋진 사용자 정의를 만들어 보자 .setBackround().setBorder() 방법을 가지고있다. 이 방법은 백그라운드 색상을 변경하기 위해 모든 구성 요소를 서브 클래 싱하는 것보다 쉽습니다. 안타깝게도 EditField 또는 LabelField의 텍스트 색상을 변경해야합니다.

+0

그래,이 방법은 훨씬 쉽고 깔끔합니다. (http://chat.stackoverflow.com/rooms/8702/discussion-between-signare-and-roshnal) 나는 BlackBerry OS 6.0+ 이상을 위해 개발 중이므로 문제가되지 않아야한다. 답장을 보내 주셔서 감사합니다. – Roshnal

+1

하지만 'EditField'의 텍스트 색상을 ** 흰색 **으로 설정하는 방법에 대한 아이디어는 무엇입니까? – Roshnal

+0

어제 검색 중이었고 필드 서브 클래 싱 이외의 방법을 찾지 못했습니다. 업데이트 된 코드를 포함하도록 내 응답을 편집했습니다. –

관련 문제