Adobe Flex以编程方式重新定位滚动条滑块

时间:2009-01-21 23:29:09

标签: flex adobe slider

我需要以编程方式重新定位滚动条上的滑块(不要移动滚动条,只移动滑块;即将其重置为顶部或左侧等)。有人想出来了吗?

1 个答案:

答案 0 :(得分:3)

我打算提到程序化皮肤,但第二个想法,听起来你要做的只是设置组件的滚动位置。是对的吗?如果是这样,它取决于您正在使用何种控件,以及您想要执行的滚动类型(例如,列表中的项目,或者只是水平或垂直位置):

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

    <mx:Script>
        <![CDATA[

            private function scrollToIndex():void
            {
                ls.scrollToIndex(15);
            }

            private function scrollToPoint():void
            {
                cv.verticalScrollPosition += 20;
            }

        ]]>
    </mx:Script>

    <mx:VBox width="300">
        <mx:List id="ls" width="100%" rowCount="5">
            <mx:dataProvider>
                <mx:Array>
                    <mx:String>Item 1</mx:String>
                    <mx:String>Item 2</mx:String>
                    <mx:String>Item 3</mx:String>
                    <mx:String>Item 4</mx:String>
                    <mx:String>Item 5</mx:String>
                    <mx:String>Item 6</mx:String>
                    <mx:String>Item 7</mx:String>
                    <mx:String>Item 8</mx:String>
                    <mx:String>Item 9</mx:String>
                    <mx:String>Item 10</mx:String>
                    <mx:String>Item 11</mx:String>
                    <mx:String>Item 12</mx:String>
                    <mx:String>Item 13</mx:String>
                    <mx:String>Item 14</mx:String>
                    <mx:String>Item 15</mx:String>
                    <mx:String>Item 16</mx:String>
                    <mx:String>Item 17</mx:String>
                    <mx:String>Item 18</mx:String>
                    <mx:String>Item 19</mx:String>
                    <mx:String>Item 20</mx:String>
                </mx:Array>
            </mx:dataProvider>
        </mx:List>
        <mx:Button label="Scroll" click="scrollToIndex()" />
        <mx:Canvas id="cv" width="100%" height="200">
            <mx:TextArea width="100%" height="600" verticalScrollPolicy="off">
                <mx:text>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
                    do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
                    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 
                    nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in 
                    reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
                    pariatur. Excepteur sint occaecat cupidatat non proident, sunt in 
                    culpa qui officia deserunt mollit anim id est laborum.

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
                    do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
                    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 
                    nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in 
                    reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
                    pariatur. Excepteur sint occaecat cupidatat non proident, sunt in 
                    culpa qui officia deserunt mollit anim id est laborum.

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
                    do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
                    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 
                    nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in 
                    reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
                    pariatur. Excepteur sint occaecat cupidatat non proident, sunt in 
                    culpa qui officia deserunt mollit anim id est laborum.

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
                    do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
                    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 
                    nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in 
                    reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla 
                    pariatur. Excepteur sint occaecat cupidatat non proident, sunt in 
                    culpa qui officia deserunt mollit anim id est laborum.              
                </mx:text>
            </mx:TextArea>
        </mx:Canvas>
        <mx:Button label="Scroll" click="scrollToPoint()" />
    </mx:VBox>  

</mx:Application>

verticalScrollPosition和horizo​​ntalScrollPosition属性(可在Container类的所有实现上使用)和scrollToIndex方法(用于列表)可能就是您要查找的内容。这个例子说明了两者。希望它有所帮助!