通过覆盖BlackBerry中的paint方法,状态按钮被隐藏

通过覆盖BlackBerry中的paint方法,状态按钮被隐藏,blackberry,Blackberry,需要有关主屏幕中绘制方法的lil帮助。使用上面的代码,我试图呈现一些列表。它很好用。但它隐藏了我使用setStatus()方法添加的所有状态栏图标。当我移除绘制方法时,状态栏中的按钮将显示。我也尝试过使用setRe g.pushRegion(),但没有成功 以下是示例代码: private void addStatusBar(){ manager = new HorizontalFieldManager(); manager.add(new BitmapField(ImageUt

需要有关主屏幕中绘制方法的lil帮助。使用上面的代码,我试图呈现一些列表。它很好用。但它隐藏了我使用setStatus()方法添加的所有状态栏图标。当我移除绘制方法时,状态栏中的按钮将显示。我也尝试过使用setRe g.pushRegion(),但没有成功

以下是示例代码:

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);         
    }
}
private void addStatusBar(){
manager=新的HorizontalFieldManager();
添加(新的位图字段(ImageUtility.loadBitMap(“ask.jpg”));
添加(新的位图字段(ImageUtility.loadBitMap(“experts.jpg”));
添加(新的位图字段(ImageUtility.loadBitMap(“search.jpg”));
添加(新的位图字段(ImageUtility.loadBitMap(“my_profile.jpg”));
添加(新的位图字段(ImageUtility.loadBitMap(“groups.jpg”));
添加(新的位图字段(ImageUtility.loadBitMap(“analitics.jpg”));
setStatus(经理);
}
受保护的空心漆(图形){
//pushRegion(新的XYRect(0,0,getPreferredWidth(),getPreferredHeight());
位图image=ImageUtility.loadBitMap(“header2.jpg”);
graphics.drawBitmap(0,0500,image.getHeight(),image,0,0);
对于(int i=0;i<5;i++){
fieldList.drawListRow(fieldList,graphics,i,50+(i*50),20);
}
}

您是否尝试过设置图形的“y”偏移量。drawBitmap()调用状态栏的高度?

您需要调用super.paint,否则状态永远不会被绘制。

受保护的void paint(图形){
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); }
位图image=ImageUtility.loadBitMap(“header2.jpg”); graphics.drawBitmap(0,0500,image.getHeight(),image,0,0); 对于(int i=0;i<5;i++){ fieldList.drawListRow(fieldList,graphics,i,50+(i*50),20); } 超级。绘画(图形);}