У меня есть список искр с рендером элементов и макетом плитки.
Если я прокручиваюсь, щелкая мышью по полосе прокрутки и пытаясь прокрутить колесом мыши после этого, возникает проблема:
Интервал прокрутки увеличен, вместо прокрутки на один элемент вниз (или вверх), Список прокручивает на 4 пункта вниз (или вверх).
<s:List
dataProvider="{myDataProvider}"
itemRenderer="MyRenderer"
left="11" right="11"
bottom="3" top="10"
useVirtualLayout="false"
>
<s:layout>
<s:TileLayout
columnAlign="justifyUsingWidth"
rowAlign="justifyUsingGap"
orientation="rows"
rowHeight="180"
columnWidth="220"
clipAndEnableScrolling="true"
/>
</s:layout>
</s:List>
rowHeight = 180 и columnWidth = 220 - это размеры моего рендерера.
Любые намеки, что не так или как я мог решить эту проблему?
Обновление:
Это небольшой пример:
Основное применение:
<?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"
creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
[Bindable] public var items:ArrayCollection;
protected function init(event:FlexEvent):void{
items = new ArrayCollection();
for(var i:int = 0; i<200; i++){
var obj:Object = new Object();
obj.name = "Item "+i;
items.addItem(obj);
}
}
protected function list1_mouseWheelHandler(event:MouseEvent):void{
trace("delta ="+event.delta);
}
]]>
</fx:Script>
<s:Group width="50%"
height="50%">
<s:List
dataProvider="{items}"
left="5" right="5"
top="5" bottom="5"
itemRenderer="MyRenderer"
allowMultipleSelection="false"
useVirtualLayout="false"
mouseWheel="list1_mouseWheelHandler(event)"
>
<s:layout>
<s:TileLayout
columnAlign="justifyUsingWidth"
rowAlign="justifyUsingGap"
orientation="rows"
rowHeight="180"
columnWidth="220"
clipAndEnableScrolling="true"
/>
</s:layout>
</s:List>
</s:Group>
И рендер:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:spareparts="de.rotex.spareparts.*"
width="220" height="180">
<s:BorderContainer borderColor="#FFF9DE" >
<s:Label horizontalCenter="0" verticalCenter="0"
text="{data.name}" />
</s:BorderContainer>
</s:ItemRenderer>
Если вы сейчас попытаетесь прокрутить, вы заметите, что (с одной прокруткой) вы увидите элементы 6 и 7 вверху (для свойства line-scroll в windows установлено значение 3, что в порядке тогда).
Но если вы теперь нажмете на полосу прокрутки и снова прокрутите (сверху), вы увидите, что пункты 12 и 13 находятся вверху. Не пункт 6 и 7, как раньше ...