Stilleri ayarlama

Bileşenin stilleri genellikle, Flash söz konusu bileşeni çeşitli durumlarda çizdiğinde o bileşenin kaplamalarının, simgelerinin, metin biçimlendirmesinin ve dolgusunun değerlerini belirtir. Örneğin, bir düğmenin üzerinde fare düğmesini tıklattığınızda Flash basılmış durumunu göstermek için Button öğesini basılmamış ya da normal durumunda gösterilenden farklı bir kaplamayla çizer. Ayrıca enabled özelliğinin false olarak ayarlanmış olması sonucunda devre dışı durumundayken de farklı bir kaplama kullanır.

Belge, sınıf ve örnek düzeylerindeki bileşenler için stiller ayarlayabilirsiniz. Ayrıca üst bileşenden de bazı stil özellikleri miras alınabilir. Örneğin, List bileşeni, BaseScrollPane öğesini miras alarak ScrollBar stillerini miras alır.

Aşağıdaki yolları kullanarak bir bileşeni özelleştirmek için stilleri ayarlayabilirsiniz:

  • Bir bileşen örneğinde stilleri ayarlayın. Tek bir bileşen örneği için rengi ve metin özelliklerini değiştirebilirsiniz. Bu yöntem bazı durumlar için etkili olmasına rağmen bir belgedeki tüm bileşenlerde ayrı ayrı özellikler ayarlamanız gerektiğinde zaman alıcı olabilir.

  • Bir belgede belirli bir türün tüm bileşenleri için stiller ayarlayın. Bir belgedeki belirli bir türün tüm bileşenlerine (örneğin, tüm CheckBox veya tüm Button öğelerine) tutarlı bir görünüm uygulamak istiyorsanız, bileşen düzeyinde stiller ayarlayabilirsiniz.

    Kaplarda ayarlanan stil özelliklerinin değerleri, içerilen bileşenler tarafından miras alınır.

    Siz Canlı Önizleme özelliğini kullanarak Sahne Alanındaki bileşenleri görüntülerken, stil özelliklerine yapılan değişiklikleri Flash görüntülemez.

Stil ayarlarını anlama

Aşağıda, stil kullanımıyla ilgili birkaç önemli noktaya yer verilmiştir:

Miras
Bileşen alt öğesi, tasarım sırasında üst bileşenden bir stili miras alacak şekilde ayarlanır. ActionScript içindeki stiller için miras almayı ayarlayamazsınız

Öncelik
Bir bileşen stili birden çok şekilde ayarlanırsa, Flash öncelik sırasına göre karşılaştığı ilk stili kullanır. Flash, bir değer bulununcaya kadar aşağıdaki sıraya göre stilleri arar:
  1. Flash, bileşen örneğinde stil özelliğini arar.

  2. Stil, miras alan stillerden biriyse, Flash miras alınan bir değerin üst öğe hiyerarşisine bakar.

  3. Flash, bileşende stili arar.

  4. Flash, StyleManager'da genel bir ayar arar.

  5. Özellik halen tanımlanmamışsa, özelliğin değeri undefined olur.

Bileşenin varsayılan stillerini erişme

Bileşen sınıfı için statik getStyleDefinition() yöntemini kullanarak bir bileşenin varsayılan stillerine erişebilirsiniz. Örneğin şu kod, ComboBox bileşeninin varsayılan stillerini alır ve buttonWidth ve downArrowDownSkin özelliklerinin varsayılan değerlerini görüntüler:

import fl.controls.ComboBox; 
var styleObj:Object = ComboBox.getStyleDefinition(); 
trace(styleObj.buttonWidth); // 24 
trace(styleObj.downArrowDownSkin); // ScrollArrowDown_downSkin

Bileşen örneğinde stilleri ayarlama ve alma

Herhangi bir kullanıcı arabirimi bileşeni örneği, bir stili ayarlamak veya almak için doğrudan setStyle() ve getStyle() yöntemlerini çağırabilir. Şu sözdizimi, bileşen örneği için bir stil ve değer ayarlar:

instanceName.setStyle("styleName", value);

Bu sözdizimi, bileşen örneği için bir stil alır:

var a_style:Object = new Object(); 
a_style = instanceName.getStyle("styleName");

Farklı veri türlerine sahip birden çok stil döndürebildiğinden getStyle() yönteminin Object türünü döndürdüğüne dikkat edin. Örneğin, şu kod, TextArea örneği ( aTa ) için font stilini ayarlar ve sonra getStyle() yöntemini kullanarak bu font stilini alır. Bu örnek, döndürülen değeri bir TextFormat değişkenine atamak için TextFormat nesnesine çevirir. Çevrim olmadan, derleyici Object değişkenini TextFormat değişkenine işleme girişimine yönelik bir hata yayınlar.

import flash.text.TextFormat; 
 
var tf:TextFormat = new TextFormat(); 
tf.font = "Georgia"; 
aTa.setStyle("textFormat",tf); 
aTa.text = "Hello World!"; 
var aStyle:TextFormat = aTa.getStyle("textFormat") as TextFormat; 
trace(aStyle.font);

Metin özelliklerini ayarlamak için TextFormat öğesini kullanma

Bir bileşen örneğinin metnini biçimlendirmek için TextFormat nesnesini kullanın. TextFormat nesnesi, bold , bullet , color , font , italic , size , vb. gibi metin özelliklerini belirtmenizi sağlayan özellikler içerir. TextFormat nesnesinde bu özellikleri ayarlayabilir ve sonra bunları bir bileşen örneğine uygulamak üzere setStyle() yöntemini çağırabilirsiniz. Örneğin, şu kod bir TextFormat nesnesinin font , size ve bold özelliklerini ayarlar ve bu özellikleri bir Button örneğine uygular:

/* Create a new TextFormat object to set text formatting properties. */ 
var tf:TextFormat = new TextFormat(); 
tf.font = "Arial"; 
tf.size = 16; 
tf.bold = true; 
a_button.setStyle("textFormat", tf);

Aşağıda, bu ayarların, Submit etiketine sahip bir düğme üzerindeki etkisi gösterilmektedir:

Etiketine yeni textFormat stili uygulanmış düğme

Bir bileşen örneğinde setStyle() aracılığıyla ayarlanan stil özellikleri en yüksek önceliğe sahip olup diğer tüm stil ayarlarını geçersiz kılar. Ancak, tek bir bileşen örneğinde setStyle() kullanarak ne kadar çok özellik ayarlarsanız, söz konusu bileşen çalışma zamanında oluşturma işlemini o kadar yavaş yapar.

Bir bileşenin tüm örnekleri için stil ayarlama

StyleManager sınıfının statik setComponentStyle() yöntemini kullanarak bir bileşen sınıfının tüm örnekleri için stil ayarlayabilirsiniz. Örneğin, önce bir Button öğesini Sahne Alanı'na sürükleyip sonra Zaman Çizelgesi'nin Kare 1'indeki Eylemler paneline şu ActionScript kodunu ekleyerek tüm Button öğeleri için metnin rengini kırmızı olarak ayarlayabilirsiniz:

import fl.managers.StyleManager; 
import fl.controls.Button; 
 
var tf:TextFormat = new TextFormat(); 
tf.color = 0xFF0000; 
StyleManager.setComponentStyle(Button, "textFormat", tf);

Sonradan Sahne Alanı'na eklediğiniz tüm Button öğelerinde kırmızı etiketler olur.

Tüm bileşenler için bir stil ayarlama

StyleManager sınıfının statik setStyle() yöntemini kullanarak tüm bileşenler için bir stil ayarlayabilirsiniz.

  1. Bir List bileşenini Sahne Alanı'na sürükleyin ve bu bileşene aList örnek adını verin.

  2. Bir Button bileşenini Sahne Alanı'na sürükleyin ve bu bileşene aButton örnek adını verin.

  3. Önceden açılmadıysa, Eylemler panelini açmak için F9 tuşuna basın veya Pencere menüsünden Eylemler seçeneğini belirleyin ve tüm bileşenler için metnin rengini kırmızı olarak ayarlamak üzere Zaman Çizelgesi'nin Kare 1'ine şu kodu girin:

    import fl.managers.StyleManager; 
     
    var tf:TextFormat = new TextFormat(); 
    tf.color = 0xFF0000; 
    StyleManager.setStyle("textFormat", tf);
  4. Listeyi metinle doldurmak için Eylemler paneline şu kodu ekleyin.

    aList.addItem({label:"1956 Chevy (Cherry Red)", data:35000}); 
    aList.addItem({label:"1966 Mustang (Classic)", data:27000}); 
    aList.addItem({label:"1976 Volvo (Xcllnt Cond)", data:17000}); 
    aList.allowMultipleSelection = true;
  5. Kodu derleyip içeriğinizi test etmek için Kontrol Et > Filmi Test Et seçeneklerini belirleyin veya Ctrl+Enter tuşlarına basın. Hem düğme etiketindeki hem de listedeki metnin kırmızı olması gerekir.