Cuando estoy tratando de alinear verticalmente los campos, que no se están comportando de lo que esperaba? (Blackberry JDE4.5.0 Eclipse)

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

Pregunta

Estoy usando Eclipse y JDE 4.5.0 plug-in. ¿Cómo alinear verticalmente los campos. Podemos alinear campos como LEFT_BOTTOM, RIGHT_BOTTOM, LEFT_VCENTER, RIGHT_VCENTER, CENTER (vertical y horizontal), BOTTOM_CENTER, etc ...?

¿Fue útil?

Solución

Los gerentes de campo de interfaz de usuario de BlackBerry son notoriamente molesto cuando se trata de la alineación de campo. Los gerentes parecen ignorar todos los indicadores de estilo (como HCENTER, VCENTER, etc) lo que la única forma en que será capaz de hacer esto es reemplazar el método sublayout de su gerente y hágalo usted mismo.

Aquí hay un pequeño fragmento para mostrar lo que quiero decir. Este código particular que realmente hace horizontal centrado, no centrado vertical, pero una vez que la idea se puede aplicar cualquiera de los estilos que necesita.

VerticalFieldManager    mainmanager     = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT)
{
    protected void sublayout( int width, int height ) {

        super.sublayout( width, height );

        width = getWidth();
        height = getHeight();

        for (int i = 0;i < this.getFieldCount() - 1; i++)
        {
            Field field = this.getField(i);
            //this positions the item in the middle of the manager
            int x = (int)((width - field.getWidth()) * 0.50);
            setPositionChild(field, x, field.getTop());
        }
    }

Tenga en cuenta que las banderas USE_ALL_WIDTH y estilo USE_ALL_HEIGHT son importantes. Si usted quiere hacer cosas como centrado vertical, alineando la parte inferior derecha, etc. tendrá que escribir el código posicionamiento usted mismo. Para la alineación inferior derecha, por ejemplo, se podría establecer la posición x de la anchura de la gerente menos la anchura del campo, y la posición y a la altura de la gerente menos la altura del campo.

Si usted quiere ser capaz de utilizar la clase administrador de una medida para manejar varios estilos diferentes (como abajo a la derecha, abajo a la izquierda) se puede añadir un poco de lógica en sublayout para comprobar la bandera de estilo del campo y luego colocar el campo adecuadamente.

Esperamos que todo esto tiene sentido y le ayuda. :)

Otros consejos

HorizontalFieldManager sólo acepta Estilos alineación vertical y VerticalFieldManager sólo aceptan alineación horizontal. Eso es. Molesto ++

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top