1. Куча / Говнокод #2563

    +123.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        <mx:Script>
            <![CDATA[
                ...
                private function someFunction(event:Event):void {
                    progressBar.setProgress(0, 0);
                    
                    PopUpManager.addPopUp(progressBar, cameraView, true);
                    PopUpManager.centerPopUp(progressBar);
                }
                
                private function updateProgress(event:ProgressEvent):void {
                    progressBar.setProgress(event.bytesLoaded, event.bytesTotal);
                }
            ]]>
            
        </mx:Script>
        
        <!--
            Опытным путем удалось установить, что бегущая полоска в ProgressBar
            отображается в PopupManager  только тогда, когда у него есть
            предок с borderStyle="solid", иначе прогресс просто стоит!
        -->
        <mx:Canvas borderStyle="solid" visible="false"> 
            <mx:ProgressBar id="progressBar" label="complete %3%%" labelPlacement="center" mode="manual" x="20" y="10"></mx:ProgressBar>
        </mx:Canvas>
    </mx:Application>

    adobe flex 3
    разгребал это два дня!

    Запостил: striker, 07 Февраля 2010

    Комментарии (3) RSS

    • А в чем фишка?
      Как бы не понятно почему таким образом создается попап... и вряд ли от стиля зависит, есть же исходники, проще взять и посмотреть, что делает setProgres()... - в этом чтоли?
      Ответить
      • setProgress() выставляет собственно величину прогресса
        setProgress(current, total);, то есть если сделать setProgress(50, 100);, то прогресс-бар заполнится ровно на половину.
        Фишка в том, что как бы ты не изменял прогресс, он не будет отображаться в попапе, пока ты не сделаешь для него контейнер с borderStyle="solid". Возможно, именно этот аттрибут заставляет перерисовываться элементы или еще что-то.
        Ответить
    • > иначе прогресс просто стоит
      Ответить

    Добавить комментарий