problema nella visualizzazione Bitmap Campi in orizzontale campo Manager in una fila in Blackberry Storm

StackOverflow https://stackoverflow.com/questions/1346184

Domanda

che avevo creato un HorizontalFieldManager & aggiunto BitmapFields in questo.

In Blackberry Storm, Display.getWidth () è 480. In che voglio usare prima 450 di aggiungere alcuni BitmapFields a LHS di schermo che io sto creando in fase di esecuzione e aggiungere 2 BitmapFields a Avvio a RHS di Screen.

2 BimapFields che voglio mostrare all'avvio r aggiunto nel costruttore e altri BitmapFields cui mi sto creando in fase di esecuzione r afterwords aggiunti come ..

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]); }
 }  

Voglio startBitmapField & endBitmapField al RHS & BitmapField [i] che i M creando in fase di esecuzione a LHS di HorizontalFieldManagers.

I m pensando di aggiungere 2 HorizontalFieldManagers. 1 per BitmapField [i] e 1 per startBitmapField & endBitmapField. Ma come aggiungere 2 HorizontalFieldManagers o qualsiasi altro FieldManagers di fila?

Qualsiasi soluzione? Come fare?

È stato utile?

Soluzione

È possibile inserire i 2 gestori di campo orizzontali all'interno di un altro HorizontalFieldManager.

Altri suggerimenti

Invece di usare le bandiere di allineamento prova ad aggiungere al vostro metodo di sublayout.

Per ogni bambino della tua Manager (HFM) è necessario chiamare setPositionChild. Quindi, se volete bene allineati e verticalmente centrato si dovrebbe fare qualcosa di simile:

setPositionChild (deleteButton, hfm.getPreferredWidth () - deleteButton.getPreferredWidth (), (hfm.getPreferredHeight () / 2) - (deleteButton.getPreferredHeight () / 2));

Questo sarebbe impostato in alto a sinistra del tasto di cancellazione per essere nella posizione corretta in modo tale che esso sia allineato a destra e verticalmente centrato all'interno del HFM.

Non ci sta per essere un problema se si vede l'applicazione in contatto. È necessario disporre di ciascuno di vostro campo personalizzato in un manager campo separato per evitare di usare tatto evento. Se si utilizza invece di layoutChild super.sublayout (larghezza, altezza), questo consente di disattivare la navigazione nello schermo, in modo da evitare di utilizzarlo. Utilizzare navigationMovement per personalizzare la vostra navigazione dei vostri campi. Più:. Se non si utilizza la funzione super.sublayout, potrebbe non il layout alcuni dei vostri campi, quindi si consiglia di utilizzare lo

Più: emulatore uso tempesta per tutto il vostro applicazione basata su tocco, e 4,5 Pearl JDEs emulatore per tutte le altre versioni, per i problemi di compatibilità

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top