TextField переключается на оригинальный текстовый формат по умолчанию на фокусе, даже после того, как я изменяю текстовый формат по умолчанию - PullRequest
0 голосов
/ 24 октября 2019

Я тестирую несколько вещей в рамках подготовки к некоторым изменениям локализации. Прямо сейчас я пытаюсь изменить формат текста по умолчанию во время выполнения и сталкиваюсь с проблемой: форматирование текста возвращается, когда я нажимаю на textInput или textArea.

Поэтому я начинаю с изменения textFormat textFieldи defaultTextFormat примерно так:

import flash.text.TextFormat;

var textFormat:TextFormat;

textFormat = new TextFormat();

textFormat.font = "Palatino Linotype";
textFormat.size = 12;
textFormat.color = "0xFFFFFF";

function setFormatting():void
{
    characterNotes.textInput.textField.setTextFormat(textFormat);
    characterNotes.textInput.textField.defaultTextFormat = textFormat;
}

setFormatting();
characterNotes.textInput.text = "Test test test";

И если я ничего не нажимаю, то форматирование правильное (т. е. Palatino, 12 point, white). Но если я щелкну текстовое поле в своем мувиклипе characterNotes, он вернется к исходному текстовому формату по умолчанию (установленному в окне свойств компонента редактора Adobe Animate). Если я щелкну пару раз в текстовом поле, он сохранит нужный формат текста (установленный в коде). Есть идеи, почему это вообще возвращается? Как я могу остановить его возврат?

Кроме того, я уже пытался добавить addEventListener("focusIn", setFormatting) в textField, но формат все равно возвращается.

...