Our Country Sites: Argentina|Brazil|Chile|Mexico|Peru

Desarrollo Apps Blackberry (4) - Horizontal Field Manager

Versão para impressãoVersão para impressãoSend by emailSend by email

Las aplicaciones JDE de Blackberry JDE presentan clases que abstraen la notación de pantallas que se muestran en nuestros equipos móviles.
La base de esta abstracción es la clase Screen (equivalente a la clase Canvas de J2ME) a cual nos da un "lienzo" para que podamos trabajar y colocar los campos necesarios para armar nuestras interfaces. La clase base Screen tiene sus clases heredadas, como FullScreen y MainScreen (que es con la que trabajaremos en este ejemplo para efectos de enseñanza).
Una vez que tenemos listo nuestro "lienzo", Blackberry JDE nos da clases para que podamos ordenar y acomodar nuestro contenido en la pantalla: estos son los LAYOUT MANAGERS.

ACERCA DEL HORIZONTAL FIELD MANAGER
Este tipo de layout manager coloca las clases tipo Field, de derecha/izquierda (horizontal). Puedes controlar el ancho y el alineamiento de los componentes que has agregado a este layout manager.

import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;

public class HorizontalFieldManagerExample extends UiApplication {
   public static void main(String[] args) {
      HorizontalFieldManagerExample theApp = new HorizontalFieldManagerExample();
      UiApplication.getUiApplication().pushScreen(new HFMScreen());
      theApp.enterEventDispatcher();
   }
}

class HorizontalFieldScreen extends MainScreen {
   public HFMScreen(){
      // Creamos el layout manager y activamos el scroll
      HorizontalFieldManager hfm = new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL);

      // Recordar activar el estilo FOCUSABLE, sino no funcionara
      // el scrolling.
      hfm.add(new LabelField("Horizontal Field Manager (con estilo FOCUSABLE para activar el scrolling",Field.FIELD_VCENTER | Field.FOCUSABLE));

      hfm.add(new LabelField("Nuevo Label"));

      // Agregamos este layout manager a la pantalla
      add(hfm);
   }
}

1. La clase "HorizontalFieldManagerExample" contiene el metodo principal para inicial este aplicativo.
2. En el contructor de HorizontalFieldScreen, un Horizontal Field Manager es creado y se asigna un estilo que activa el scroll horizontal si varios campos son agregados a la pantalla (y estos no caben en la pantalla). Notar que el scrolling sucedera de derecha a izquierda en la misma fila, ninguna nueva fila se creara. Por ello si se agregan muchos campos, este presentará una interface extraña que requerira mucho scroll.
3.Luego una variedad de Labels son agregados al Horizontal Field Manager. Una variedad de diferentes estilos son pasados a los constructores de estos Labels para determinar su posición en la pantalla. El usuario puede modificar estos estilos en el Horizontal Field Manager asi como en los mismos Labels.
4. Es imporante notar que si un campo esta fuera de una area visible, este tiene que tener el estilo FOCUSABLE activado para poder lograr la accion de scrolling.
5. Finalmente el Horizontal Field Manager es agregado (add) a la pantalla. No olvidar de hacer este paso, caso contrario no se mostrara ningún resultado en pantalla.

Espero sus comentarios.

Gerardo Chung
Desarrollo Blackberry Senior
Nextel del Peru S.A.