<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術(shù)

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    論壇一直有人問為何設(shè)置了twaver.controls.Tree的horizontalScrollPolicy為 ScrollPolicy.AUTO,可是還是沒有橫向滾動(dòng)條。這是由于Adobe出于性能的考慮,沒有計(jì)算maxHorizontalScrollPosition的值。本文貼出了解決方案,效果如下:

    從原始Tree繼承出新的類AutoSizeTree:
     1 package {
     2     import flash.events.Event;
     3 
     4     import mx.core.ScrollPolicy;
     5     import mx.core.mx_internal;
     6 
     7     import twaver.DataBox;
     8     import twaver.controls.Tree;
     9 
    10     public class AutoSizeTree extends Tree {
    11         public function AutoSizeTree(dataBox:DataBox=null) {
    12             super(dataBox);
    13             horizontalScrollPolicy = ScrollPolicy.AUTO;
    14         }
    15 
    16         override public function get maxHorizontalScrollPosition():Number {
    17             if (isNaN(mx_internal::_maxHorizontalScrollPosition))
    18                 return 0;
    19 
    20             return mx_internal::_maxHorizontalScrollPosition;
    21         }
    22 
    23         override public function set maxHorizontalScrollPosition(value:Number):void {
    24             mx_internal::_maxHorizontalScrollPosition = value;
    25             dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));
    26 
    27             scrollAreaChanged = true;
    28             invalidateDisplayList();
    29         }
    30 
    31         override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
    32             var diffWidth:Number = measureWidthOfItems(0,0- (unscaledWidth - viewMetrics.left - viewMetrics.right);
    33 
    34             if (diffWidth <= 0)
    35                 maxHorizontalScrollPosition = NaN;
    36             else
    37                 maxHorizontalScrollPosition = diffWidth;
    38 
    39             super.updateDisplayList(unscaledWidth, unscaledHeight);
    40         }
    41     }
    42 }

    測(cè)試代碼如下:


     1 <?xml version="1.0" encoding="utf-8"?>
     2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
     3                 xmlns:tw="http://www.servasoftware.com/2009/twaver/flex"
     4                 applicationComplete="init()" xmlns:local="*">
     5     <mx:Script>
     6         <![CDATA[
     7             import twaver.*;
     8 
     9             private function init():void {
    10                 var box:ElementBox = new ElementBox();
    11 
    12                 var group:Group = new Group();
    13                 group.name = "Group";
    14                 box.add(group);
    15 
    16                 for(var i:int=0; i<20; i++){
    17                     var node:Node = new Node();
    18                     node.name = "Node with long long long long long long name " + Utils.randomInt(10000000);
    19                     group.addChild(node);
    20                     box.add(node);
    21                 }
    22 
    23                 tree.dataBox = box;
    24                 tree.callLater2(function():void {
    25                     tree.expandAll();
    26                 });
    27             }
    28         ]]>
    29     </mx:Script>
    30     <local:AutoSizeTree id="tree" width="300" height="100%"/>
    31 </mx:Application>

    如果您數(shù)據(jù)量少,性能不是大問題,不妨試一試,完整工程代碼見附件:TestAutoSizeTree


    評(píng)論

    # re: 如何讓Flex的Tree顯示水平滾動(dòng)條  回復(fù)  更多評(píng)論   

    2012-02-05 20:34 by 長(zhǎng)沙網(wǎng)絡(luò)公關(guān)
    override public function set maxHorizontalScrollPosition(value:Number):void {
    24 mx_internal::_maxHorizontalScrollPosition = value;
    25 dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));
    26
    27 scrollAreaChanged = true;
    28 invalidateDisplayList();

    貌似有點(diǎn)小問題

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 四虎成人免费影院网址| 亚洲国产精品免费在线观看| 成人免费男女视频网站慢动作| 亚洲高清资源在线观看| 无码人妻精品中文字幕免费| 亚洲AV无码一区二区乱孑伦AS | 2020天堂在线亚洲精品专区| 亚洲免费视频播放| 亚洲一卡2卡4卡5卡6卡在线99| 青青视频观看免费99| 亚洲乱码在线播放| 久久精品女人天堂AV免费观看| 中文字幕亚洲精品无码| 亚洲人成电影在线天堂| 免费无码黄网站在线看| 国产亚洲成AV人片在线观黄桃| 久久久久免费看黄a级试看| 久久久久亚洲AV无码永不| 最近免费中文字幕大全高清大全1| 在线电影你懂的亚洲| 无码人妻一区二区三区免费| 亚洲精品无码久久久久A片苍井空| 国产免费小视频在线观看| 成人国产网站v片免费观看| 国产亚洲精品自在线观看| 99精品视频免费| 91亚洲导航深夜福利| 色婷婷7777免费视频在线观看| 国产成人亚洲综合在线| 精品国产日韩亚洲一区| 99久久久国产精品免费牛牛四川| 亚洲国产成人91精品| 国产成人高清精品免费鸭子 | 67pao强力打造67194在线午夜亚洲| 久久免费看黄a级毛片| 亚洲精品久久无码| 亚洲人成人一区二区三区| www.黄色免费网站| 日本激情猛烈在线看免费观看 | 亚洲色偷偷综合亚洲AV伊人蜜桃 | 亚洲欧洲精品成人久久曰|