Я разрабатываю приложение для Adobe Flex и AIR, и я бьюсь головой об стену, пытаясь понять, как решить проблему с прокруткой.
Базовая структура моего главного окна приложения (значительно упрощено) такова:
<?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>
Проблема в том, что поле «MainContent» может содержать огромный список подкомпонентов, а наличие этого длинного списка приводит к появлению вертикальной полосы прокрутки на самом высоком уровне графического интерфейса, окружающей vbox «MainContainer».
Это выглядит очень глупо, имея полосы прокрутки вокруг всего окна приложения.
Вместо этого я ищу решение, в котором полоса прокрутки применяется только к vbox «MainContent» (а также к панелям Navigation и HelpContent, если их содержимое выходит за границы окна).
Я нашел связанный с вопрос в StackOverflow, где решением проблемы было использование атрибутов «autoLayout» и «verticalScrollPolicy» в родительских контейнерах.
Поэтому я попытался добавить атрибуты autoLayout = "false" и verticalScrollPolicy = "off" во все родительские контейнеры, а также вертикальный атрибутScrollPolicy = "on" в поле "MainContent". Но конечный результат этого эксперимента состоял в том, что содержимое было просто вырезано из основного контейнера (и в vbox MainContent была добавлена бесполезная полоса прокрутки без большого пальца).
Кто-нибудь знает, как решить эту проблему?