Adobe® Flash® Platform için ActionScript® 3.0 Başvurusu
Ana Sayfa  |  Paket ve Sınıf Listesini Gizle |  Paketler  |  Sınıflar  |  Yenilikler  |  Dizin  |  Ekler  |  Niçin İngilizce?
Filtreler: Sunucudan Veri Alınıyor...
Sunucudan Veri Alınıyor...
flash.text 

StyleSheet  - AS3

Paketflash.text
Sınıfpublic dynamic class StyleSheet
Miras AlmaStyleSheet Inheritance EventDispatcher Inheritance Object

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

StyleSheet sınıfı font boyutu, rengi ve diğer stiller için metin biçimlendirme kuralları içeren bir StyleSheet nesnesi oluşturmanıza izin verir. Daha sonra bir stil sayfası tarafından tanımlanan stilleri HTML- veya XML- biçimlendirilmiş metin içeren TextField nesnesine uygulayabilirsiniz. TextField nesnesindeki metin, StyleSheet nesnesi tarafından tanımlanan etiket stillerine göre otomatik olarak biçimlendirilir. Yeni biçimlendirme etiketleri tanımlamak, yerleşik HTML etiketlerini yeniden tanımlamak veya belirli HTML etiketlerine uygulayabileceğiniz stil sınıfları oluşturmak için metin stillerini kullanabilirsiniz.

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ğiActionScript özelliğiKullanı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.

Örnekleri görüntüle

İlgili API Öğeleri



Genel Özellikler
 ÖzellikTanımlayan:
 Inheritedconstructor : 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
Genel Yöntemler
 YöntemTanımlayan:
  
Yeni StyleSheet nesnesi oluşturur.
StyleSheet
 Inherited
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
 Inherited
Olay akışına bir olay gönderir.
EventDispatcher
  
styleName adlı stil ile ilişkili stil nesnesinin bir kopyasını döndürür.
StyleSheet
 Inherited
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder.
EventDispatcher
 Inherited
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir.
Object
 Inherited
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
 Inherited
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher nesnesinden bir dinleyiciyi kaldırır.
EventDispatcher
 Inherited
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar.
Object
  
setStyle(styleName:String, styleObject:Object):void
Stil sayfası nesnesine belirtilen ad ile yeni bir stil ekler.
StyleSheet
 Inherited
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür.
Object
 Inherited
Belirtilen nesnenin dize olarak temsil edilen halini döndürür.
Object
  
CSS ayrıştırma kabiliyetini arttırır.
StyleSheet
 Inherited
Belirtilen nesnenin temel değerini döndürür.
Object
 Inherited
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
Olaylar
 Olay Özet Tanımlayan:
 Inherited[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir.EventDispatcher
 Inherited[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir.EventDispatcher
Özellik Ayrıntısı

styleNames

özellik
styleNames:Array  [salt okunur]

Dil Sürümü: ActionScript 3.0
Çalışma Zamanı Sürümleri: AIR 1.0, Flash Player 9, Flash Lite 4

Bu stil sayfasında kayıtlı tüm stillerin (dize olarak) adlarını içeren bir dizi.



Uygulama
    public function get styleNames():Array
Yapıcı Ayrıntı

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

Yöntem Ayrıntısı

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.

Döndürür
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? )

Şu örnekte, kullanıcı bir metin dosyasını tıklattığında bir dosyadan yüklenen CSS dosyaları içeriğe uygulanı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.

Döndürür
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? )

Bu örnek bir CSS dosyasından bir metin alanına yönelik TextFormat nesnesine bir stil uygulamak için 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;
        }
    }
}
StyleSheetExample.as

Şu örnek yeni bir stil sayfası oluşturur ve üstbilgi stiline kalın ve kırmızı font özelliklerini atar.
 
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);
        }
    }
}




[ X ]Niçin İngilizce?
ActionScript 3.0 Başvurusu'ndaki içerik İngilizce görünür

ActionScript 3.0 Başvurusu'nun tüm bölümleri tüm dillere çevrilmemiştir. Bir dil öğesi çevrilmediğinde İngilizce görünür. Örneğin, ga.controls.HelpBox sınıfı hiçbir dile çevrilmez. Bu nedenle, başvurunun Türkçe versiyonunda ga.controls.HelpBox sınıfı İngilizce görünür.