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」ボックスにサブコンポーネントの巨大なリストが含まれている可能性があり、その長いリストが存在すると、GUI の最上位レベルに「MainContainer」vbox を囲む垂直スクロールバーが表示されることです。
アプリケーションウィンドウ全体にスクロールバーがあるのは本当にばかげているように見えます。
代わりに私が探しているのは、スクロールバーが「MainContent」vbox (およびコンテンツがウィンドウの境界を超えて伸びる場合は、Navigation および HelpContent パネル) にのみ適用されるソリューションです。
問題の解決策は、親コンテナーで「autoLayout」および「verticalScrollPolicy」属性を使用することでした。
そこで、すべての親コンテナーに autoLayout="false" および verticalScrollPolicy="off" 属性を追加し、「MainContent」vbox に verticalScrollPolicy="on" を追加してみました。しかし、その実験の最終結果は、コンテンツがメイン コンテナーから単純に切り取られたということでした (そして、つまみのない役に立たないスクロールバーが MainContent vbox に追加されました)。
誰でもこれを解決する方法を知っていますか?