Был в состоянии выработать более простое решение - опубликовать его здесь, так как никто другой, похоже, не разместил нечто подобное в Интернете.
Метод spark.layouts.supportClasses.LayoutBase # getScrollPositionDeltaToElementHelper допускает передачу topOffset, но реализация по умолчанию передает NaN.Если создать пользовательский макет, который передает «0» в качестве topOffset, то вызов sureIndexIsVisible в вашем Списке приведет к выравниванию элементов по этому индексу.
См. Ниже класс пользовательских макетов:
public class ScrollToElementVerticalLayout extends VerticalLayout
{
public override function getScrollPositionDeltaToElement(index:int):Point
{
// pass 0 as the topOffset so the element aligns with the top of the list
return getScrollPositionDeltaToElementHelper(index, 0);
}
}