2008-10-01 15 views
8

Aquí está mi problema - Tengo algo de código como este:¿Cómo "rompo" visualmente un contenedor en Flex?

<mx:Canvas width="300" height="300"> 
    <mx:Button x="800" /> 
</mx:Canvas> 

Así que el problema es que el botón dentro de la lona tiene una forma característica x en exceso del ancho de la lona - ya que es un hijo de la tela, el Lienzo lo enmascara y crea algunas barras de desplazamiento para que pueda desplazarme hacia el botón.

Lo que me gustaría es mostrar el botón - 800 píxeles a la izquierda del lienzo sin las barras de desplazamiento al mismo tiempo que deja el botón como un elemento secundario del lienzo. ¿Cómo puedo hacer eso?

Respuesta

8

lo he descubierto - al parecer, el contenedor tiene una propiedad llamada clipContent - aquí está la descripción de Adobe:

Ya sea para aplicar una máscara de recorte si las posiciones y/o tamaños de los niños de este recipiente se extienden fuera de las fronteras de este contenedor Si es falso, los hijos de este contenedor permanecen visibles cuando se mueven o se dimensionan fuera de los bordes de este contenedor. Si es verdadero, los hijos de este contenedor son recortados.

Si clipContent es falso, el desplazamiento está deshabilitado para este contenedor y las barras de desplazamiento no aparecerán. Si clipContent es verdadero, las barras de desplazamiento generalmente aparecerán cuando los hijos del contenedor se extiendan fuera del borde del contenedor. Para un control adicional sobre la apariencia de las barras de desplazamiento, vea horizontalScrollPolicy y verticalScrollPolicy. El valor predeterminado es verdadero.

Así que, básicamente - Para mostrar el botón fuera de los límites del contenedor que necesito para hacer lo siguiente:

<mx:Canvas width="300" height="300" clipContent="false" > 
    <mx:Button x="800" /> 
</mx:Canvas> 

Eso era más fácil de lo que pensaba que iba a ser. :)

Here's the official doc...

+0

impresionante! He tenido algunos casos de uso recientes, en una aplicación de Flex en la que estoy trabajando, ¡que sabía que iba a tener que resolver esto en el futuro! Esta es la razón por stackoverflow se está convirtiendo en la etiqueta de lectura diaria específica para mí! – defmeta

+0

me siento de la misma manera :) – onekidney

+0

Tener por defecto clipContent a la verdadera es la OMI uno de los 5 errores más grandes en Flex. También en los primeros 5 estaba teniendo bloques try/catch que se ejecutan bajo los manejadores doLater y doLater2. –

2

usted debería ser capaz de utilizar el includeInLayout propiedad también, lo que permitirá aplicar a cada componente secundario de forma independiente.

Cuestiones relacionadas