Estoy desarrollando una aplicación con Adobe Flex y AIR, y he estado golpeando mi cabeza contra la pared tratando de encontrar la manera de resolver un desplazamiento problema.Adobe Flex/AIR: desplazamiento de un subcomponente, no de toda la ventana
La estructura básica de la ventana principal de la aplicación (simplificado en gran medida) es la siguiente:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
paddingTop="0" paddingRight="0" paddingBottom="0" paddingLeft="0"
width="800" height="600" layout="vertical" verticalAlign="top"
>
<mx:VBox id="MainContainer" width="100%" height="100%">
<mx:Panel id="Toolbars" width="100%" height="25" />
<mx:HDividedBox width="100%" height="100%" >
<mx:Panel id="Navigation" minWidth="200" height="100%" />
<mx:VBox id="MainContent" width="100%">
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
<mx:Panel width="100%" height="200" />
</mx:VBox>
<mx:Panel id="HelpContent" minWidth="200" height="100%" />
</mx:HDividedBox>
<mx:Panel id="FooterContent" width="100%" height="25" />
</mx:VBox>
</mx:WindowedApplication>
El problema es que la caja "maincontent" podría contener una enorme lista de subcomponentes, y la presencia de esa larga lista hace que una barra de desplazamiento vertical aparezca en el nivel más alto de la GUI, rodeando la vbox "MainContainer".
Parece realmente tonto, con barras de desplazamiento alrededor de toda la ventana de la aplicación.
Lo que estoy buscando es una solución donde la barra de desplazamiento solo se aplica a la vbox "MainContent" (así como a los paneles Navigation y HelpContent, si su contenido se extiende más allá de los límites de la ventana).
Encontré un related question en StackOverflow, donde la solución del problema era utilizar los atributos "autoLayout" y "verticalScrollPolicy" en los contenedores principales.
Intenté agregar los atributos autoLayout = "false" y verticalScrollPolicy = "off" en todos los contenedores principales, así como verticalesScrollPolicy = "on" en la vbox "MainContent". Pero el resultado final de ese experimento fue que el contenido simplemente se recortó del contenedor principal (y se agregó una barra de desplazamiento inútil sin pulgar a la vbox de MainContent).
¿Alguien sabe cómo solucionar esto?
voy Inténtelo más tarde en la tarde. Sin embargo, me imagino que esa medida incapacitante dificulta el redimensionamiento horizontal del contenedor. Solo quiero solucionar el problema del desplazamiento vertical. – benjismith
Tiene toda la razón: este es un truco bastante drástico, pero podría ser útil en algunas situaciones específicas (como la mía). – hasseg