滚动条激活时发生反应

时间:2013-12-02 16:55:49

标签: flex flex4 flex3 scrollbar

我在容器中有一个TextInput。我需要容器的水平滚动功能,以便当textInput变大时,它允许我滚动以查看左侧和右侧的文本。滚动条轨道和拇指设置为null,以便我可以看到文本。

                    trackSkin: ClassReference(null);
        thumbUpSkin: ClassReference(null);
        thumbOverSkin: ClassReference(null);
        thumbDownSkin: ClassReference(null);
        thumbSkin: ClassReference(null);

现在我想听一个事件或者观看一个在水平滚动条激活时发生变化的属性。然后我想在容器上设置填充或在文本输入上设置左右属性,这样左右箭头就不会妨碍用户查看第一个和最后一个字符。

由于

1 个答案:

答案 0 :(得分:1)

在添加侦听器和访问Scroller的HScrollBar之前,您可能会发现某些用途的设置/变量:measuredSizeIncludesScrollBars

From the API :(请原谅可怕的格式化)

如果为true,则Scroller的测量尺寸包括可见滚动条所需的空间,否则Scroller的测量尺寸仅取决于其视口。

像TextArea这样的组件,“回流”其内容以适应可用的宽度或高度,可以使用此属性来稳定其测量的大小。默认情况下,TextArea由widthInChars和heightInChars属性定义,在许多应用程序中,测量大小最好保持不变,这是TextArea皮肤Scroller显示滚动条时的事件。

在内容不重排的组件中,如典型的List项目,默认行为更可取,因为它使组件的内容不太可能被滚动条遮挡。

如果这不起作用,我可能会添加一个附加到Scroller生命周期的事件监听器。在该事件处理期间,我将检查Scrollbar是否为null。如果不是,我会把它存放到一边,但不是在为其“show”和“hide”事件添加一个监听器之前。这样,只要滚动条改变状态,您就可以启动所需的任何内容。