Flex Forms: выравнивание этикеток, выравнивание по правому краю

Я думал, что это было поведение по умолчанию (все документы Adobe, кажется, указывают, что это так). Скажем, у вас есть форма: Имя: [______] Пароль: [________]

как правило, вы хотите, чтобы имя и пароль располагались справа от них (правое обоснование). Длина должна быть длиной самой длинной метки.

Когда я добавляю следующий код в свой MXML (авторинг в Flex 4), он этого не делает вообще! Скорее всего, просто вбивает все влево, как в примере с именем / паролем выше.

Какое решение?

<s:Form id="directoryForm_A" width="100%">                      
    <s:layout>
        <s:VerticalLayout horizontalAlign="justify"/>
    </s:layout>
    <s:FormItem label="Click">
        <s:Button label="Button"/>
    </s:FormItem>
    <s:FormItem label="Root Directory">
        <s:TextInput x="0" width="100%" enter="handleUserSetRootDirectory(event)"/>
    </s:FormItem>
</s:Form>

2 ответа

Решение

Какие документы Adobe вы читали? Вы понимаете, что форма Spark будет сильно отличаться от формы Halo / MX. Я также подозреваю, что форма Spark еще не работает.

Вот документы в Форме Искры.

Я думаю, вам будет полезно ознакомиться с разделом правил компоновки деталей FormI temLayout. Я не могу найти документацию, которая утверждает, что все метки будут выровнены правильно.

Для тех, кто ищет решение для бета-тестирования, Питер де Хаан публикует сообщения на эту тему здесь: http://blog.flexexamples.com/2010/08/28/setting-the-text-alignment-on-a-spark-formitem-label-in-flex-hero/

Обратите внимание, поскольку его пример не переводится непосредственно к моей проблеме:

  • добавление в почему-то отключает возможность рендерера вычислять maxLabelWidth

Надеюсь, что это поможет другим в будущем.

Другие вопросы по тегам