【问题标题】:Flex 4 and ScrollBar stepSizeFlex 4 和 ScrollBar stepSize
【发布时间】:2009-12-16 10:25:15
【问题描述】:

我想用 VScrollBar 指定滚动量。 所以在 Flex 3 中我们有“lineScrollSize”,但是这个属性在 Flex 4 中是如何调用的呢? 我认为它是 VscrollBar.stepSize ——但它并没有做任何事情。

有人请帮助我。 我只是希望我的内容在鼠标滚轮上滚动得更快。

【问题讨论】:

    标签: apache-flex scrollbar flex4 mousewheel scroller


    【解决方案1】:

    查看LayoutBase.getVerticalScrollPositionDelta。您可能想要继承并覆盖它!

    这是我在自己的布局类中所做的:

    override public function getVerticalScrollPositionDelta(navigationUnit:uint):Number {
        var n:Number=super.getVerticalScrollPositionDelta(navigationUnit);
        if (navigationUnit==NavigationUnit.DOWN || navigationUnit==NavigationUnit.UP) return 10*n;
        return n;
    }
    

    【讨论】:

    • 是否可以禁用鼠标滚轮滚动(我想用鼠标滚轮放大/缩小)?
    • 要通过在名为 UpdatedLayout 的类中扩展 BasicLayout 来使用此方法,您需要将“”添加到包含的组中通过您的滚动条。
    【解决方案2】:

    这里有一个如何增加 mouseWheel 滚动的 stepSize 的示例: http://forums.adobe.com/message/2783736

    您应该能够通过此增强功能更轻松地取消鼠标滚轮滚动: http://bugs.adobe.com/jira/browse/SDK-26432

    链接到该错误的子任务有一个简单的代码示例,您应该能够修改它以防止鼠标滚轮滚动并调用您的缩放逻辑:

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark"> 
        <fx:Script> 
            <![CDATA[ 
                ...
                private function mouseWheelChangingHandler(event:FlexMouseEvent):void { 
                    // don't scroll by preventing default
                    event.preventDefault(); 
    
                    // instead zoom
                    yourZoomFunction(event.delta);
                } 
            ]]> 
        </fx:Script> 
    
        <s:Scroller id="scroller" width="250" height="200" mouseWheelChanging="mouseWheelChangingHandler(event)"> 
            <s:DataGroup id="vp" dataProvider="{getDP()}" itemRenderer="spark.skins.spark.DefaultItemRenderer"> 
                <s:layout> 
                    <s:VerticalLayout gap="0" horizontalAlign="justify" /> 
                </s:layout> 
            </s:DataGroup> 
        </s:Scroller>
    </s:Application>
    

    此主题中的讨论也可能对您有用: http://forums.adobe.com/message/3393852#3393852

    【讨论】:

      【解决方案3】:

      我想出了一个解决方法,它需要子类化/扩展滚动条的皮肤。

      这样你只需要使用自定义滚动条,而不是修改滚动条内的每个视口

      我把它放在对 Flex SDK 错误的评论中,显然不应该一开始就忽略它

      https://bugs.adobe.com/jira/browse/SDK-17288

      【讨论】:

        猜你喜欢
        • 2011-12-06
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 2012-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多