2010-07-30 4 views
0

MainScreen의 페인트 방법과 관련하여 도움이 필요합니다. 위의 코드를 사용하여 일부 목록을 렌더링하려고했습니다. 그것은 잘 작동합니다. 하지만 setStatus() 메서드를 사용하여 추가 한 모든 상태 표시 줄 아이콘을 숨 깁니다. 페인트 방법을 제거하면 상태 표시 줄의 제 단추가 나타납니다. 또한 setRe g.pushRegion(),하지만 행운을 사용하여 시도했다.BlackBerry의 오버라이드 페인트 방법으로 상태 단추가 표시되지 않습니다.

private void addStatusBar(){ 
    manager = new HorizontalFieldManager(); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("ask.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("experts.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("search.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("my_profile.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("groups.jpg"))); 
    manager.add(new BitmapField(ImageUtility.loadBitMap("analitics.jpg"))); 

    setStatus(manager); 

} 

protected void paint(Graphics graphics) { 
    //graphics.pushRegion(new XYRect(0, 0, getPreferredWidth(), getPreferredHeight())); 
    Bitmap image = ImageUtility.loadBitMap("header2.jpg"); 
    graphics.drawBitmap(0, 0, 500, image.getHeight(), image, 0, 0); 

    for(int i =0; i < 5; i++){ 
     fieldList.drawListRow(fieldList, graphics, i, 50 + (i*50), 20);   
    } 
} 

답변

0

당신이 graphics.drawBitmap 오프셋 "y는"() 상태 표시 줄의 높이에 전화 설정을 시도 해 봤나 : 여기

샘플 코드는?

0

super.paint를 호출해야합니다. 그렇지 않으면 상태가 그려지지 않습니다.

0
protected void paint(Graphics graphics) { 
Bitmap image = ImageUtility.loadBitMap("header2.jpg"); 
graphics.drawBitmap(0, 0, 500, image.getHeight(), image, 0, 0); 
for(int i =0; i < 5; i++){ 
    fieldList.drawListRow(fieldList, graphics, i, 50 + (i*50), 20);   
}  
super.paint(graphics); } 
관련 문제