Полоса прокрутки приложения Flex 4 - PullRequest
1 голос
/ 30 ноября 2010

Я следую этому примеру, чтобы в моем приложении были полосы прокрутки http://blog.flexexamples.com/2010/11/03/adding-scroll-bars-to-an-spark-application-container-in-flex-4/

Разница в том, что в моем файле приложения у меня есть видовой стек с тремя представлениями. Единственное, когда появляется второй вид, мне нужно, чтобы мое приложение показывало полосы прокрутки, но это не так. Если я назначу моему стеку просмотра фиксированную высоту, появятся полосы прокрутки, но я не хочу давать фиксированную ширину.

Заранее спасибо.

1 Ответ

2 голосов
/ 01 декабря 2010

Из документа Flex 4 SDK ( текст ссылки ):

"Ширина и высота по умолчанию для контейнера ViewStack - это ширина и высота первого дочернего элемента. Контейнер ViewStack делаетНе меняйте размер при каждом изменении активного дочернего элемента.

Вы можете использовать следующие методы для управления размером контейнера ViewStack, чтобы он отображал все компоненты внутри своих дочерних элементов:

1. Set explicit width and height properties for all children to the same fixed values.
2. Set percentage-based width and height properties for all children to the same fixed values.
3. Set width and height properties for the ViewStack container to a fixed or percentage-based value.

Техника, которую вы используете, основана на вашем приложении и содержимом контейнера ViewStack. "

Чтобы обойти это, вы можете добавить скроллер внутри содержимого навигатора.Код может выглядеть примерно так:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <s:TabBar dataProvider="{myselfViewStack}"/>
    <mx:ViewStack id="myselfViewStack" left="0" right="0" top="100" bottom="0">
        <s:NavigatorContent>
            <s:Scroller width="100%" height="100%">
                <s:Group>
                    <!-- scrollbar not shown -->
                    <s:Group width="100%" height="100">
                        <s:Label text="1"/>
                    </s:Group>      
                </s:Group>
            </s:Scroller>
        </s:NavigatorContent>
        <s:NavigatorContent>
            <s:Scroller width="100%" height="100%">
                <s:Group>
                    <!-- scrollbar shown -->
                    <!-- Explicit height set in group to "simulate" content -->
                    <s:Group width="100%" height="1500">
                        <s:Label text="2"/>
                    </s:Group>      
                </s:Group>
            </s:Scroller>
        </s:NavigatorContent>
        <s:NavigatorContent>
            <s:Label text="3"/>
        </s:NavigatorContent>
    </mx:ViewStack>
</s:Application>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...