Search code examples
layoutblackberryfieldcenter

Making the Field Horizontally Centered in Blackberry


These are 6 Dashboard Buttons: Which needs to be Horizontally Centered

Dashboard Buttons

  ![\[1\]: https://i.sstatic.net/jg6q8.png][1]

The current Code is Like:

            DashboardButtons = new VerticalFieldManager(Field.USE_ALL_WIDTH
                            | VerticalFieldManager.FIELD_HCENTER));

                    ButtonRow1 = new HorizontalFieldManager(Field.USE_ALL_WIDTH
                            | HorizontalFieldManager.FIELD_HCENTER);
                    ButtonRow2 = new HorizontalFieldManager(Field.USE_ALL_WIDTH
                            | HorizontalFieldManager.FIELD_HCENTER);

And the Fields are defined like : b1 = new Field(Field.FOCUSABLE|FIELD_HCENTER)

And inside the fields I have added the Button images.

The icon at the top (got centered) is added directly inside a VerticalFieldManager defined with Field.USE_ALL_WIDTH| VerticalFieldManager.FIELD_HCENTER` And the icon field with FIELD_HCENTER


Solution

  • I am giving you a sample code according to that you can modify:

    If you want the focus on images, You should give one image in ONFOCUS and another image on UNFOCUS.

    Below is the sample code:

    public class LoadingScreen extends MainScreen
    {   
    Font font;
    VerticalFieldManager vertical;
    Bitmap bitmap=Bitmap.getBitmapResource("btn_send.png");
    BitmapField bitmapField;
    ButtonField plus,minus;
    int px=0;
    int py=0;
    public LoadingScreen()
    {
        font=Font.getDefault().derive(Font.BOLD, 18);           
        createGUI();
    }
    
    public void createGUI() 
    {
        vertical=new VerticalFieldManager(USE_ALL_WIDTH);
    
        HorizontalFieldManager hor=new HorizontalFieldManager(Field.FIELD_HCENTER);
    
        BitmapField bitmapField=new BitmapField(bitmap);        
        hor.add(bitmapField);
        vertical.add(hor);
    
        HorizontalFieldManager hr=new HorizontalFieldManager(Field.FIELD_HCENTER);
    
        BitmapField bitmapField1=new BitmapField(bitmap);       
        hr.add(bitmapField1);
    
        BitmapField bitmapField2=new BitmapField(bitmap);
        hr.add(bitmapField2);
    
        BitmapField bitmapField3=new BitmapField(bitmap);
        hr.add(bitmapField3);
        hr.setPadding(10, 0, 10, 0);
        vertical.add(hr);
    
        HorizontalFieldManager hr1=new HorizontalFieldManager(Field.FIELD_HCENTER);
    
        BitmapField bitmapField4=new BitmapField(bitmap);       
        hr1.add(bitmapField4);
    
        BitmapField bitmapField5=new BitmapField(bitmap);
        hr1.add(bitmapField5);
    
        BitmapField bitmapField6=new BitmapField(bitmap);
        hr1.add(bitmapField6);
        hr1.setPadding(10, 0, 10, 0);
    
        vertical.setBackground(BackgroundFactory.createSolidBackground(Color.GREEN));       
        vertical.add(hr1);      
        add(vertical);
    }       
    }
    

    I got like this below Image:

    Images in Center