【问题标题】:Adobe Flex reposition scrollbar slider programaticallyAdobe Flex 以编程方式定位滚动条滑块
【发布时间】:2009-01-21 23:29:08
【问题描述】:

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

【问题讨论】:

    标签: apache-flex adobe slider


    【解决方案1】:

    我本来打算提到程序化蒙皮,但转念一想,听起来您想要做的只是设置组件的滚动位置。是对的吗?如果是这样,这取决于您使用的是哪种控件,以及您想要执行哪种滚动(例如,滚动到列表中的某个项目,或者只是滚动到水平或垂直位置):

    <?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 方法(用于列表)可能是您正在寻找的。这个例子说明了两者。希望对您有所帮助!

    【讨论】:

    • @ChristianNunciato ,是否可以精确控制verticalScrollPosition,而不仅仅是cv.verticalScrollPosition +=20
    猜你喜欢
    • 2011-10-19
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 2016-07-06
    • 2016-08-01
    • 1970-01-01
    相关资源
    最近更新 更多