加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在初始化时设置list滚动条的位置

发布时间:2020-12-15 01:12:58 所属栏目:百科 来源:网络整理
导读:假设你要使用List,并想在当它刚被创建的时候就把滚动条的位置设定成一些特定值。也许你曾这样想过,在使用List作为导航时,滚动到用户之前停留的位置。 ? ?那么你要怎么实现呢?这个问题让我如坐针毡,我尝试过,但一无所获: ? ??List –creationComplete
假设你要使用<List>,并想在当它刚被创建的时候就把滚动条的位置设定成一些特定值。也许你曾这样想过,在使用<List>作为导航时,滚动到用户之前停留的位置。
? ?那么你要怎么实现呢?这个问题让我如坐针毡,我尝试过,但一无所获:
? ??List –creationComplete–失败
? ??List –updateComplete–失败
? ??因为没有布局方面的事件,所以还是失败

? ?我设置了一段程序,启动一个计时器,等待大概33毫秒以后设置滚动条的位置。虽然麻烦,但这种办法运转良好。

? ?最近又碰到了这个问题,在@dimitri_k的帮助下,才找到解决这个问题的正确方法,这个方法要更加的简单。就是在<Lists>的滚动条上设置一个监听,下面就是在creationComplete里加的监听代码:

? ?myList.scroller.addEventListener(FlexEvent.UPDATE_COMPLETE,onScrollerComplete );

在onScrollComplete里的代码如下:

? ?private function onScrollerComplete( e:FlexEvent ):void {
? ? ? ? ribbonListLayout.horizontalScrollPosition = TRON.ribbonScrollPosition;
? ? ? ? ribbonList.scroller.removeEventListener(FlexEvent.UPDATE_COMPLETE,onScrollerComplete );
? ?}

? ? 在监听执行一次以后一定要将它移除掉,不然它就会被再次触发,并会在用户滚动滚轮的时候重新定位到原来的位置。
? ?Adobe的两位Flex SDK工程师在Flexponential里也提供了类似的解决方案:保存Flex移动应用程序界面里的滚动条位置?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读