在Blackberry Storm中连续在Horizo​​ntalFieldManager中显示BitmapFields的问题

Shr*_*yas 0 user-interface blackberry blackberry-storm rim-4.7

我创建了一个Horizo​​ntalFieldManager并添加了BitmapFields.

在Blackberry Storm中,Display.getWidth()是480.在那里我想使用第一个450在屏幕的LHS处添加一些BitmapFields,我在运行时创建并在屏幕的RHS处添加2个BitmapFields.

我想在开始时显示的2个BimapFields在构造函数和其他BitmapFields中添加,我在运行时创建了r,后面添加了像..

class MyCanvas extends MainScreen
{

  MyCanvas()
  {

       hfm_BitmapField = new HorizontalFieldManager(){
             protected void sublayout(int maxWidth, int maxHeight) {
             super.sublayout(maxWidth, maxHeight);
             setExtent(Display.getWidth()-30, 60);
             }
         };


         startBitmap = Bitmap.getBitmapResource("start.png");
         startBitmapField = new BitmapField(startBitmap, BitmapField.ACTION_INVOKE |            BitmapField.FIELD_HCENTER | BitmapField.FIELD_RIGHT);
         hfm_BitmapField.add(startBitmapField);

         endBitmap = Bitmap.getBitmapResource("end.png");
         endBitmapField = new BitmapField(endBitmap, BitmapField.ACTION_INVOKE |            BitmapField.FIELD_HCENTER | BitmapField.FIELD_RIGHT);
         hfm_BitmapField.add(endBitmapField);

         drawBitmap();
 }


 public void drawBitmap()
 {
      bitmap[i] = new Bitmap(50, 50);
      Graphics g = new Graphics(bitmap[i]);
      g.drawLine(5,5,25,25);
      bitmapField[i] = new BitmapField(bitmap[i]);

      synchronized(UiApplication.getEventLock()) { hfm.add(bitmapField[i]); }
 }  
Run Code Online (Sandbox Code Playgroud)

我想在RHS和bitmapField [i]的startBitmapField和endBitmapField,我在运行时在Horizo​​ntalFieldManagers的LHS创建.

我想添加2个Horizo​​ntalFieldManagers.1表示bitmapField [i]和1表示startBitmapField和endBitmapField.但是如何连续添加2个Horizo​​ntalFieldManagers或任何其他FieldManagers?

有解决方案吗 怎么做?

Dav*_*ton 5

您可以将2个水平字段管理器放在另一个Horizo​​ntalFieldManager中.