Я разрабатываю приложение с помощью 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" ко всем родительским контейнерам, а также verticalScrollPolicy = "on" в vbox "MainContent". Но конечным результатом этого эксперимента было то, что содержимое было просто вырезано из основного контейнера (и в vbox MainContent была добавлена бесполезная полоса прокрутки без большого пальца).
Кто-нибудь знает, как это решить?