Adobe Flex / Actionscript: редактируемая метка - PullRequest
0 голосов
/ 21 февраля 2012

Я работаю над проектом, в котором было бы очень неплохо, если бы у нас были ярлыки editbale или область для TextInput, которая выглядит как метка, если ее не навести мышкой.

Я довольно нов вСогните, и не знаете, как развивать кожу.Я даже не знаю, возможно ли сделать это просто скином.

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

Вот код, который я использовал для создания редактируемой метки, упомянутой в ссылке выше:

<?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" xmlns:component="com.npacemo.component.*"
           xmlns:skins="skins.*">
<fx:Declarations>
    <!-- Platzieren Sie nichtvisuelle Elemente (z. B. Dienste, Wertobjekte) hier -->
</fx:Declarations>
<s:BorderContainer>     
    <component:EditableLabel text="Text 132"  skinClass="skins.EditableLabel" />
</s:BorderContainer>

</s:Application>

Есть идеи, почему отображаемая страница пуста?Или другой подход?

Заранее спасибо, Маркус

Ответы [ 2 ]

0 голосов
/ 14 февраля 2013

Я столкнулся с той же проблемой в этом редактируемом ярлыке.Я думаю, что основная причина была от SkinPart:labelComponent.Внутри скина метка была такой:

<s:Label id="labelComponent" text="{hostComponent.text}"
         alpha.normal="1" alpha.selected="0" 
         visible.normal="true" visible.selected="false"
         verticalCenter="0" width="{this.width+20}" maxDisplayedLines="1"
         textDecoration="underline" buttonMode="true"/>

Поскольку настройка ширины вызывала цикл самоссылки, метка выдаст исключение.Решением здесь является простота установки ширины:

<s:Label id="labelComponent" text="{hostComponent.text}"
         alpha.normal="1" alpha.selected="0" 
         visible.normal="true" visible.selected="false"
         verticalCenter="0" maxDisplayedLines="1"
         textDecoration="underline" buttonMode="true"/>

И компонент теперь можно отобразить.Я обнаружил, что есть разница между отображением компонентов в Application и просмотре.В Application некоторые исключения перехватываются автоматически, что усложняет процесс отладки.Надеюсь, это поможет!

0 голосов
/ 22 февраля 2012

В проекте, над которым мы работали, мы делали редактируемые надписи с помощью текстового поля и удаляли фон и границы (он будет выглядеть как ярлык и будет редактируемым).В вашем случае вы можете сделать это, а затем на mouseIn вы можете снова показать границу и фон (делая его похожим на текстовое поле), а затем MouseOut снова удалив стиль til.

...