2010-08-30 5 views
0

Я уверен, что мой динамический макет mxml должен дать мне две полосы прокрутки (по горизонтали и по вертикали), но она показывает только вертикальную. Я что-то упустил или это ошибка?Компонент Flex 4 Scroller не отображает горизонтальную полосу прокрутки

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" xmlns:local="*"> 
    <fx:Script> 
     <![CDATA[ 
      import mx.collections.ArrayCollection; 

      [Bindable] 
      public var myData:ArrayCollection = new ArrayCollection([ 
       {name:"Jane"}, 
       {name:"Sonny"}, 
       {name:"Alicia"} 
      ]); 
     ]]> 
    </fx:Script> 
    <s:Scroller width="100%" height="100%"> 
     <s:VGroup> 
      <s:Group minHeight="600" minWidth="800" height="100%" width="100%"> 
       <mx:HDividedBox id="div1" width="100%" height="100%" autoLayout="true" liveDragging="true"> 
        <mx:DataGrid width="100%" height="100%" dataProvider="{myData}"/> 
        <mx:DataGrid width="100%" height="100%" dataProvider="{myData}"/> 
       </mx:HDividedBox> 
      </s:Group> 
     </s:VGroup> 
    </s:Scroller> 
</s:Application> 

ответ

2

Снимите VGroup внутри скроллер или изменить его к группе! Кажется, что горизонтальная полоса прокрутки не отображается при использовании VGroup в качестве первого ребенка

+0

Включение VGroup в группу действительно! Благодарю. Btw это выглядит как ошибка Flex SDK для меня. – Nek

-3

Вы не установили horizontalScrollPolicy и verticalScrollPolicy для Scroller и, следовательно, они имеют их значение, установленное в auto. Поведение в этом случае состоит в том, чтобы отображать полосы прокрутки только при необходимости.

Полосы прокрутки отображаются в соответствии с кодом vertical and horizontal scroll bar policy, который может быть авто, включен или выключен. Автополитика означает, что полоса прокрутки будет видимой и включена в макет, когда содержимое видового экрана больше самого окна просмотра.

Попробуйте с

<s:Scroller width="100%" height="100%" horizontalScrollPolicy="on"> 
+0

Вы пробовали? Это приведет к появлению горизонтального компонента прокрутки, но он будет отключен навсегда независимо от размера окна приложения, и мне нужно, чтобы он работал, когда ширина окна меньше, чем minWidth содержимого. Пока все работает хорошо для minHeight, но одна и та же логика ломается на горизонтальной полосе прокрутки. Вы можете легко проверить это, вставив мой код в пустой проект flex и скомпилировав его. – Nek