Paket | flash.text |
Sınıf | public dynamic class StyleSheet |
Miras Alma | StyleSheet EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir TextField nesnesine stiller uygulamak için, StyleSheet nesnesini bir TextField nesnesinin styleSheet
özelliğine atayın.
Not: Bir stil sayfasına sahip bir metin alanı düzenlenemez. Başka bir deyişle type
özelliği TextFieldType.INPUT
şeklinde ayarlanmış bir metin alanı StyleSheet öğesini metin alanına yönelik varsayılan metne atar ancak içerik artık kullanıcı tarafından düzenlenemez. Girdi metin alanlarına stiller atamak için TextFormat sınıfını yollamayı göz önünde bulundurun.
Flash Player orijinal CSS1 belirtimindeki (www.w3.org/TR/REC-CSS1) bir özellik alt kümesini destekler. Şu tablo desteklenen Basamaklı Stil Sayfası (CSS) özelliklerinin ve değerlerinin yanı sıra bunlara karşılık gelen ActionScript özellik adlarını gösterir. (Her ActionScript özelliği kendisine karşılık gelen CSS özellik adından türetilir; ad bir tire işareti içeriyorsa, tire yok sayılır ve bir sonraki karakter büyük harfe çevrilir.)
CSS özelliği | ActionScript özelliği | Kullanım ve desteklenen değerler |
---|---|---|
color
|
color
| Yalnızca onaltılık değerler desteklenir. Ada sahip değerler (örn. blue ) desteklenmez. Renkler şu biçimde yazılır: #FF0000 . |
display
|
display
| Desteklenen değerler inline , block ve none şeklindedir. |
font-family
|
fontFamily
| Kullanılacak fontların virgülle ayrılmış, isteğe göre azalan sırada bir listesi. Herhangi bir font ailesi kullanılabilir. Genel bir font ailesi adı belirtirseniz uygun bir cihaz fontuna dönüştürülür. Şu font dönüştürme işlemleri mevcuttur: mono , _typewriter fontuna, sans-serif , _sans fontuna ve serif ,_serif fontuna dönüştürülür. |
font-size
|
fontSize
| Değerin yalnızca sayısal kısmı kullanılır. Birimler (px, nk) ayrıştırılmaz; pikseller ve noktalar birbirine eşittir. |
font-style
|
fontStyle
| Tanınan değerler normal ve italic şeklindedir. |
font-weight
|
fontWeight
| Tanınan değerler normal ve bold şeklindedir. |
kerning
|
kerning
| Tanınan değerler true ve false şeklindedir. Karakter aralığı yalnızca gömülü fontlar için desteklenir. Courier New gibi belirli fontlar karakter aralığını desteklemez. Karakter aralığı özelliği yalnızca Windows'da oluşturulan SWF dosyalarında desteklenir, Macintosh'ta oluşturulan SWF dosyalarında desteklenmez. Ancak bu SWF dosyaları Flash Player'ın Windows'da olmayan sürümlerinde oynatılabilir ve karakter aralığı hala geçerlidir. |
leading
|
leading
| Satırlar arasında eşit olarak dağıtılmış boşluk miktarı. Değer, her satırın sonuna eklenen piksel sayısını belirtir. Negatif bir değer, satırlar arasındaki boşluğu yoğunlaştırır. Değerin yalnızca sayısal kısmı kullanılır. Birimler (px, nk) ayrıştırılmaz; pikseller ve noktalar birbirine eşittir. |
letter-spacing
|
letterSpacing
| Karakterler arasında eşit olarak dağıtılmış boşluk miktarı. Değer, her karakterin sonuna eklenen piksel sayısını belirtir. Negatif bir değer, karakterler arasındaki boşluğu yoğunlaştırır. Değerin yalnızca sayısal kısmı kullanılır. Birimler (px, nk) ayrıştırılmaz; pikseller ve noktalar birbirine eşittir. |
margin-left
|
marginLeft
| Değerin yalnızca sayısal kısmı kullanılır. Birimler (px, nk) ayrıştırılmaz; pikseller ve noktalar birbirine eşittir. |
margin-right
|
marginRight
| Değerin yalnızca sayısal kısmı kullanılır. Birimler (px, nk) ayrıştırılmaz; pikseller ve noktalar birbirine eşittir. |
text-align
|
textAlign
| Tanınan değerler left , center , right ve justify şeklindedir. |
text-decoration
|
textDecoration
| Tanınan değerler none ve underline şeklindedir. |
text-indent
|
textIndent
| Değerin yalnızca sayısal kısmı kullanılır. Birimler (px, nk) ayrıştırılmaz; pikseller ve noktalar birbirine eşittir. |
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
styleNames : Array [salt okunur]
Bu stil sayfasında kayıtlı tüm stillerin (dize olarak) adlarını içeren bir dizi. | StyleSheet |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Yeni StyleSheet nesnesi oluşturur. | StyleSheet | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
Stil sayfası nesnesinden tüm stilleri kaldırır. | StyleSheet | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
styleName adlı stil ile ilişkili stil nesnesinin bir kopyasını döndürür. | StyleSheet | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
CSSText öğesindeki CSS'yi ayrıştırır ve onunla birlikte stil sayfasını yükler. | StyleSheet | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Stil sayfası nesnesine belirtilen ad ile yeni bir stil ekler. | StyleSheet | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
CSS ayrıştırma kabiliyetini arttırır. | StyleSheet | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
styleNames | özellik |
StyleSheet | () | Yapıcı |
public function StyleSheet()
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Yeni StyleSheet nesnesi oluşturur.
İlgili API Öğeleri
clear | () | yöntem |
public function clear():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Stil sayfası nesnesinden tüm stilleri kaldırır.
getStyle | () | yöntem |
public function getStyle(styleName:String):Object
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
styleName
adlı stil ile ilişkili stil nesnesinin bir kopyasını döndürür. styleName
ile ilişkili bir style nesnesi yoksa, null
değeri döndürülür.
Parametreler
styleName:String — Alınacak stilin adını belirten bir dize.
|
Object — Bir nesne.
|
İlgili API Öğeleri
Örnek
Bu örnek nasıl kullanılır?
getStyle()
yönteminin nasıl kullanıldığıyla ilgili şekiller için parseCSS() ve transform() yönteminin örneğine bakın.
parseCSS | () | yöntem |
public function parseCSS(CSSText:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
CSSText
öğesindeki CSS'yi ayrıştırır ve onunla birlikte stil sayfasını yükler. CSSText
öğesindeki bir stil zaten styleSheet
öğesindeyse, styleSheet
öğesindeki özellikler korunur ve yalnızca CSSText
öğesindekiler styleSheet
öğesinde eklenir veya değiştirilir.
Yerli CSS ayrıştırma kabiliyetini genişletmek için StyleSheet sınıfının bir alt sınıfını oluşturarak bu yöntemi geçersiz kılabilirsiniz.
Parametreler
CSSText:String — Ayrıştırılacak CSS metni (bir dize).
|
Örnek ( Bu örnek nasıl kullanılır? )
Yapıcıda, çok satırlı bir metni alanı oluşturulur ve bunun içeriği HTML biçimli bir dizeye ayarlanır. (HTML üstbilgisi ve yayılma etiketleri, CSS stili uygulanmadan önce oluşturulmaz.) CSS dosyasının konumunu tanımlamak için bir URLRequest
nesnesi oluşturulur. Bu örnekte, CSS dosyası SWF dosyasıyla aynı dizindedir. Dosya bir URLLoader
nesnesiyle birlikte yüklenir. loader
URLLoader nesnesi için eklenmiş iki olay dinleyicisi vardır. Bir G/Ç olayı meydana gelirse, metin alanında bir hata mesajı görüntüleyen bir errorHandler()
yöntemi çağrılır. Tüm veriler alınıp loader
URLLoader nesnesinin data özelliğine yerleştirildikten sonra, loaderCompleteHandler()
yöntemi çağrılır. Bu yöntem, CSS stillerini dosyadan yüklenmiş verilerden ayrıştırır ve sheet
StyleSheet nesnesini stil tanımlarıyla doldurur.
Kullanıcı metin alanını tıklattığında, clickHandler()
yöntemi çağrılır. clickHandler()
yöntemindeki if ifadesi, stil sayfasını metin alanına uygulamadan önce dosya yükleme işleminin tamamlandığından emin olmak için kontrol eder. Stilin geçerli olması için, stil sayfası metin alanına atandıktan sonra htmlText
özelliği içerikle birlikte tekrar atanmalıdır. Üstbilgi etiketine yönelik CSS font-family
ve color
özellik değerleri de metin alanının içeriğine eklenir. (Stil sayfası değerleri geçerli değilse bu özelliklerin değerleri "undefined" olur.)
Aşağıdaki, bu örnekle birlikte kullanılabilen CSS dosyasının bir içerik örneğidir. Bu örneği çalıştırmadan önce bir metin dosyası oluşturun, aşağıdaki CSS içeriğini bu metin dosyasına kopyalayın ve ardından bunu test.css
dosya adıyla kaydedip SWF dosyasıyla aynı dizine yerleştirin.
p { font-family: Times New Roman, Times, _serif; font-size: 14; font-Style: italic; margin-left: 10; } h1 { font-family: Arial, Helvetica, _sans; font-size: 20; font-weight: bold; } .bluetext { color: #0000CC; }
package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.events.IOErrorEvent; import flash.events.Event; import flash.events.MouseEvent; public class StyleSheet_parseCSSExample extends Sprite { private var loader:URLLoader = new URLLoader(); private var field:TextField = new TextField(); private var exampleText:String = "<h1>This is a headline</h1>" + "<p>This is a line of text. <span class='bluetext'>" + "This line of text is colored blue.</span></p>"; private var sheet:StyleSheet = new StyleSheet(); private var cssReady:Boolean = false; public function StyleSheet_parseCSSExample() { field.x = 10; field.y = 10; field.background = true; field.multiline = true; field.autoSize = TextFieldAutoSize.LEFT; field.htmlText = exampleText; field.addEventListener(MouseEvent.CLICK, clickHandler); addChild(field); var req:URLRequest = new URLRequest("test.css"); loader.load(req); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } public function errorHandler(e:IOErrorEvent):void { field.htmlText = "Couldn't load the style sheet file."; } public function loaderCompleteHandler(event:Event):void { sheet.parseCSS(loader.data); cssReady = true; } public function clickHandler(e:MouseEvent):void { if (cssReady) { field.styleSheet = sheet; field.htmlText = exampleText; var style:Object = sheet.getStyle("h1"); field.htmlText += "<p>Headline font-family is: " + style.fontFamily + "</p>"; field.htmlText += "<p>Headline color is: " + style.color + "</p>"; } else { field.htmlText = "Couldn't apply the CSS styles."; } } } }
setStyle | () | yöntem |
public function setStyle(styleName:String, styleObject:Object):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Stil sayfası nesnesine belirtilen ad ile yeni bir stil ekler. Söz konusu stil, stil sayfasında mevcut değilse eklenir. Söz konusu stil, stil sayfasında mevcutsa değiştirilir. styleObject
parametresi null
ise söz konusu stil kaldırılır.
Flash Player, bu yönteme ilettiğiniz stil nesnesinin bir kopyasını oluşturur.
Desteklenen stillerin bir listesi için StyleSheet sınıfına yönelik açıklamadaki tabloya bakın.
Parametreler
styleName:String — Stil sayfasına eklenecek stilin adını belirten bir dize.
| |
styleObject:Object — Bir nesneyi açıklayan bir nesne veya null .
|
transform | () | yöntem |
public function transform(formatObject:Object):flash.text:TextFormat
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
CSS ayrıştırma kabiliyetini arttırır. İleri düzeyde geliştiriciler, StyleSheet sınıfını genişleterek bu yöntemi geçersiz kılabilir.
Parametreler
formatObject:Object — Nesnenin özellikleri olarak stil kurallarını içerecek şekilde stili açıklayan bir nesne veya null .
|
flash.text:TextFormat — CSS kurallarının metin biçimi özellikleriyle eşleşme sonucunu içeren bir TextFormat nesnesi.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
transform()
yöntemini kullanır.
CSS stilleri genellikle HTML içeriğini biçimlendirmek için kullanılır. Ancak, bir StyleSheet nesnesinin transform()
yöntemi kullanılarak, belirli CSS stilleri bir TextFormat nesnesine atanabilir ve ardından herhangi bir metin alanına uygulanabilir.
URLRequest
ve URLLoader
nesneleri CSS dosyasını yüklemek için kullanılır. Event.COMPLETE
olayı için bir olay dinleyicisi eklenir. Bu işlem tüm veriler alındıktan ve loader
URLLoader nesnesinin data özelliğine yerleştirildikten sonra gerçekleşir. loaderCompleteHandler()
yöntemi daha sonra CSS'yi dosyadan yüklenen verilerden ayrıştırır ve sheet
StyleSheet nesnesini stillerle doldurur. Stil nesnesinin getStyle()
yöntemi HTML paragraf stillerini alır ve bu stiller daha sonra stil sayfasının transform()
yöntemi kullanılarak cssFormat
TextFormat nesnesine atanır. Son olarak inputField
metin alanının varsayılan metin biçimi yeni cssFormat
metin biçimine ayarlanır.
package { import flash.display.Sprite; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldType; import flash.events.IOErrorEvent; import flash.events.Event; public class StyleSheet_transformExample extends Sprite { private var loader:URLLoader = new URLLoader(); private var inputField:TextField = new TextField(); private var sheet:StyleSheet = new StyleSheet(); public function StyleSheet_transformExample() { inputField.x = 10; inputField.y = 10; inputField.background = true; inputField.width = 300; inputField.height = 200; inputField.wordWrap = true; inputField.multiline = true; inputField.type = TextFieldType.INPUT; addChild(inputField); var req:URLRequest = new URLRequest("test.css"); loader.load(req); loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); } public function errorHandler(e:IOErrorEvent):void { inputField.htmlText = "Couldn't load the style sheet file."; } public function loaderCompleteHandler(event:Event):void { var cssFormat:TextFormat = new TextFormat(); sheet.parseCSS(loader.data); var style:Object = sheet.getStyle("p"); cssFormat = sheet.transform(style); inputField.defaultTextFormat = cssFormat; } } }
package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class StyleSheetExample extends Sprite { public function StyleSheetExample() { var style:StyleSheet = new StyleSheet(); var heading:Object = new Object(); heading.fontWeight = "bold"; heading.color = "#FF0000"; var body:Object = new Object(); body.fontStyle = "italic"; style.setStyle(".heading", heading); style.setStyle("body", body); var label:TextField = new TextField(); label.styleSheet = style; label.htmlText = "<body><span class='heading'>Hello </span>World...</body>"; addChild(label); } } }
Tue Jun 12 2018, 01:09 PM Z