Эквивалент <mx: Style /> в ActionScript 3 - PullRequest
1 голос
/ 29 июня 2009

Я ищу что-то эквивалентное тегу "mx: Style" во Flex для actioncript 3. В настоящее время я загружаю скин с помощью StyleManager.loadStyleDeclaration ().

Но это загружает скин во время выполнения, что не является моим намерением. Таким образом, я ищу что-то похожее на тег «mx: Style» в as3, так что оно встраивает скин и не требует загрузки во время выполнения.

Большое спасибо за любые ответы.

Ashish.

Ответы [ 3 ]

0 голосов
/ 29 февраля 2012

Я искал это сам и только сейчас нашел ответ.

<fx:Style source="path/to/sheet.css"/>

Да, это точно так же, за исключением того, что теперь оно находится в пространстве имен fx.

0 голосов
/ 11 июля 2014

Если вы хотите сделать то же самое без Loader и EventListener, у вас есть способ очень простой :

// Embed your stylesheet with the octet-stream mime-type
[Embed(source="assets/stylesheet.css", mimeType="application/octet-stream")]
private var stylesCSS:Class;

public function createStyleSheetObject():StyleSheet
{
    // create a new StyleSheet instance
    var styleSheet:StyleSheet = new StyleSheet();
    // create a instance of the styles as ByteArray
    var byteArray:ByteArray = new stylesCSS() as ByteArray;
    // read the content
    var stylesString:String = byteArray.readUTFBytes(byteArray.length);
    // parse the string by the stylesheet and done!
    styleSheet.parseCSS(stylesString);
    return styleSheet;
}
0 голосов
/ 29 июня 2009

Отсюда

package
{
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
 import flash.text.StyleSheet;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;

 public class CSSFormattingExample extends Sprite
 {
  var loader:URLLoader;
  var field:TextField;
  var exampleText:String = "<h1>This is a headline</h1>
    " + "This is a line of text. <span class=\"bluetext\">" +
    "This line of text is colored blue.</span>";

  public function CSSFormattingExample():void
  {
   field = new TextField();
   field.width = 300;
   field.autoSize = TextFieldAutoSize.LEFT;
   field.wordWrap = true;
   addChild(field);

   var req:URLRequest = new URLRequest("example.css");

   loader = new URLLoader();
   loader.addEventListener(Event.COMPLETE, onCSSFileLoaded);
   loader.load(req);
  }

  public function onCSSFileLoaded(event:Event):void
  {
   var sheet:StyleSheet = new StyleSheet();
   sheet.parseCSS(loader.data);
   field.styleSheet = sheet;
   field.htmlText = exampleText;
  }
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...