Metin alanları, düz metin veya HTML formatlı metin içerebilir. Düz metin, örneğin
text
özelliğinde saklanır ve HTML metni,
htmlText
özelliğinde saklanır.
CSS stili bildirimlerini, birçok farklı metin alanına uygulayabileceğiniz metin stillerini tanımlamak için kullanabilirsiniz. CSS stil bildirimleri, uygulama kodunuzda oluşturulabilir veya harici bir CSS dosyasından çalışma zamanında yüklenebilir.
flash.text.StyleSheet sınıfı, CSS stillerini işler. StyleSheet sınıfı, sınırlı bir CSS özellikleri kümesini tanır. StyleSheet sınıfının desteklediği stil özelliklerinin ayrıntılı listesi için, ActionScript 3.0 Başvurusu'ndaki flash.textStylesheet girişine bakın.
Aşağıdaki örnekte gösterildiği gibi, CSS'i kodunuzda oluşturabilir ve bu stilleri bir StyleSheet nesnesi kullanarak HTML metnine uygulayabilirsiniz:
var style:StyleSheet = new StyleSheet();
var styleObj:Object = new Object();
styleObj.fontSize = "bold";
styleObj.color = "#FF0000";
style.setStyle(".darkRed", styleObj);
var tf:TextField = new TextField();
tf.styleSheet = style;
tf.htmlText = "<span class = 'darkRed'>Red</span> apple";
addChild(tf);
Örnek kod, bir StyleSheet nesnesi oluşturduktan sonra, bir stil bildirim özellikleri kümesini tutmak için basit bir nesne oluşturur. Daha sonra bu, yeni stili ".darkred" adıyla stil sayfasına ekleyen
StyleSheet.setStyle()
yöntemini çağırır. Ardından, StyleSheet nesnesini TextField
styleSheet
özelliğine atayarak stil sayfası formatlamasını uygular.
CSS stillerinin etkili olması için, stil sayfasının,
htmlText
özelliği ayarlanmadan önce TextField nesnesine uygulanması gerekir.
Tasarım gereği, bir stil sayfasına sahip bir metin alanı düzenlenebilir değildir. Bir girdi metni alanınız varsa ve buna bir stil sayfası atarsanız; metin alanı, stil sayfasının özelliklerini gösterir, ancak kullanıcının metin alanına yeni metin girmesine izin vermez. Ayrıca, aşağıdaki ActionScript API'lerini, atanmış bir stil sayfasına sahip bir metin alanında kullanamazsınız:
-
TextField.replaceText()
yöntemi
-
TextField.replaceSelectedText()
yöntemi
-
TextField.defaultTextFormat
özelliği
-
TextField.setTextFormat()
yöntemi
Bir metin alanına bir stil sayfası atanır, ancak daha sonra
TextField.styleSheet
özelliği
null
olarak ayarlanırsa, hem
TextField.text
hem de
TextField.htmlText
özelliği, önceden atanan stil sayfasının formatlamasını dahil etmek üzere etiketler ve nitelikler ekler. Orijinal
htmlText
özelliğini korumak için, stil sayfasını
null
olarak ayarlamadan önce özelliği bir değişkenin içine kaydedin.