Я разрабатываю приложение с Adobe Flex и AIR, и я ударяю головой о стену, пытаясь выяснить, как решить прокрутку вопрос.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 основного устройства.
Это выглядит действительно глупо, имея полосы прокрутки вокруг всего окна приложения.
То, что я ищу вместо этого, - это решение, в котором панель прокрутки применяется только к vbox основного объекта (а также панели навигации и HelpContent, если их содержимое простирается за пределы окна).
Я нашел related question на StackOverflow, где решение проблемы заключалось в использовании атрибутов autoLayout и verticalScrollPolicy в родительских контейнерах.
Поэтому я попытался добавить атрибуты autoLayout = "false" и verticalScrollPolicy = "off" ко всем родительским контейнерам, а также verticalScrollPolicy = "on" в vbox основного компонента. Но конечным результатом этого эксперимента было то, что контент был просто отсечен из основного контейнера (и в MainContent vbox добавлена бесполезная полоса прокрутки без пальца).
Кто-нибудь знает, как это решить?
Я дам, что попробовать во второй половине дня. Однако я предполагаю, что эта мера отключения затрудняет предоставление горизонтального изменения размера контейнера. Я просто хочу исправить проблему вертикальной прокрутки. – benjismith 2008-12-10 15:18:31