2015-09-09 2 views
1

Я пытаюсь добавить пользовательские Scroller.as (простиралась от spark.components.Scroller) до InfiniteScrollList.as (простиралась от spark.components.list)Добавить расширенный скроллер в расширенный список искры в Flex

Я написал следующий код MXML:

<list:InfiniteScrollList width="100%" height="100%" id="EventsList" useVirtualLayout="true"> 
    <list:scroller> 
     <list:Scroller/> <!-- The Scroller.as Class --> 
    </list:scroller> 
</list:InfiniteScrollList> 

Поведение List работает хорошо, но расширенный компонент Scroller не работает вообще.
Каков правильный способ добавления этой функции скроллера (в MXML или ActionScript) в список?

ответ

1

S: Скроллер используется, обертывая его вокруг содержимого или DataGroup. Но класс List обертывает все эти функции внутри своего скина, поэтому я считаю, что для создания пользовательского Скроллера для списка вам действительно нужно сделать в SkinClass.

<list:InfiniteScrollList width="100%" height="100%" id="EventsList" 
     useVirtualLayout="true" skinClass="MyListSkin" /> 

MyListSkin.mxml:

<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:fb="http://ns.adobe.com/flashbuilder/2009" minWidth="112"> 

<fx:Metadata> 
    [HostComponent("spark.components.Scroller")] 
</fx:Metadata> 

<s:states> 
    <s:State name="normal" /> 
    <s:State name="disabled" /> 
</s:states> 


    <!-- The Scroller.as Class --> 
    <list:Scroller left="0" top="0" right="0" bottom="0" id="scroller" hasFocusableChildren="false"> 
     <!--- @copy spark.components.SkinnableDataContainer#dataGroup --> 
     <s:DataGroup id="dataGroup" itemRenderer="spark.skins.spark.DefaultItemRenderer"> 
      <s:layout> 
       <!--- The default layout is vertical and measures at least for 5 rows. 
       When switching to a different layout, HorizontalLayout for example, 
       make sure to adjust the minWidth, minHeight sizes of the skin --> 
       <s:VerticalLayout gap="0" horizontalAlign="contentJustify" requestedMinRowCount="5" /> 
      </s:layout> 
     </s:DataGroup> 
    </list:Scroller/> 
</s:SparkSkin> 
Смежные вопросы