ActionBar в чистом ActionScript

У меня есть этот MXML, который я хотел бы выразить как actioncript:

<s:titleContent>
    <s:Label text="Title" fontWeight="bold" fontSize="20" height="20" verticalAlign="top" />
    <s:Label text=".com" fontSize="12" height="17" verticalAlign="bottom" />
</s:titleContent>

Я попробовал это без успеха:

var chrome:ActionBar = new ActionBar();
chromeTitle.text = "Title";

chrome.setStyle("fontSize", 20);
chrome.title = "Title";
chrome.title = chromeTitle;

Как добавить текст в стиле CSS на панель действий (несколько меток)? Также возможно ли заставить другие представления наследовать эту панель действий, чтобы мне не приходилось дублировать код (у всех соперников были бы общие элементы)?

1 ответ

Решение

Этот синтаксис:

<s:titleContent>
 ...
</s:titleContent>

Означает, что вы устанавливаете свойство titleContent для компонента, под которым он находится. Вы можете отличить свойства от новых экземпляров класса от случая. Имена классов всегда начинаются с заглавной буквы; тогда как имена свойств начинаются со строчной буквы. Вы не указали, к какому классу это свойство; но так как вы имеете дело с мобильным, я предполагаю, что это представление. Свойство titleContent является массивом.

Так; Вы должны сделать это:

// create the first label and set properties
var tempLabel :Label = new Label();
tempLabel.text = 'Title';
tempLabel.setStyle('fontWeight','bold');
tempLabel.setStyle('fontSize',20);
tempLabel.height = 20;
tempLabel.setStyle('verticalAlign','top');

// add label to titleContent array
this.titleContent.push(tempLabel);

// create next label
tempLabel :Label = new Label();
tempLabel.text = '.com';
tempLabel.setStyle('fontSize',12);
tempLabel.height = 17;
tempLabel.setStyle('verticalAlign','bottom');

// add second label to titleContent array
this.titleContent.push(tempLabel);

Это правильный способ преобразования предоставленного вами кода MXML в ActionScript. Поскольку ваш собственный код пытался создать новый ActionBar(), я не уверен, что вы, если это действительно то, что вы хотели.

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