Pacote | flash.text |
Classe | public dynamic class StyleSheet |
Herança | StyleSheet EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Para aplicar estilos a um objeto TextField, atribua o objeto StyleSheet a uma propriedade styleSheet
do objeto TextField.
Observação: não é possível editar um campo de texto com uma folha de estilo. Em outras palavras, um campo de texto com o conjunto de propriedades type
definido como TextFieldType.INPUT
aplica StyleSheet ao texto padrão para o campo de texto, mas o conteúdo não poderá mais ser editado pelo usuário. Considere utilizar a classe TextFormat para atribuir estilos a campos de texto de entrada.
O Flash Player oferece suporte a um subconjunto de propriedades na especificação CSS1 original (www.w3.org/TR/REC-CSS1). A seguinte tabela mostra as propriedades e os valores de CCS (Página de estilo em cascata), assim como os seus nomes de propriedade do ActionScript correspondentes. (Cada nome de propriedade do ActionScript é derivado do nome de propriedade de CSS correspondente; se o nome contiver um hífen, o hífen será omitido e o caractere subsequente será capitalizado).
Propriedade de CSS | Propriedade do ActionScript | Uso e valores suportados |
---|---|---|
color
|
color
| Somente valores de cor hexadecimais são suportados. Cores nomeadas (como blue ) não são suportadas. As cores são escritas no seguinte formato: #FF0000 . |
display
|
display
| Os valores suportados são inline , block e none . |
font-family
|
fontFamily
| Uma lista separada por vírgula de fontes a serem utilizadas, em ordem decrescente de preferência. Qualquer nome de família de fontes pode ser utilizado. Se você especificar um nome de fonte genérico, a fonte será convertida em uma fonte de dispositivo apropriada. As seguintes conversões de fonte estão disponíveis: mono é convertido em _typewriter , sans-serif é convertido em _sans e serif é convertido em _serif . |
font-size
|
fontSize
| Somente a parte numérica do valor é utilizada. As unidades (px, pt) não são analisadas; pixels e pontos são equivalentes. |
font-style
|
fontStyle
| Os valores reconhecidos são normal e italic . |
font-weight
|
fontWeight
| Os valores reconhecidos são normal e bold . |
kerning
|
kerning
| Os valores reconhecidos são true e false . O kerning é suportado somente para fontes incorporadas. Determinadas fontes, como Courier New, não oferecem suporte a kerning. A propriedade kerning é suportada somente em arquivos SWF criados no Windows, não em arquivos SWF criados em Macintosh. No entanto, esses arquivos SWF podem ser reproduzidos em versões do Flash Player de sistemas operacionais diferentes do Windows e o kerning será aplicável do mesmo jeito. |
leading
|
leading
| A quantidade de espaço distribuído uniformemente entre as linhas. O valor especifica o número de pixels adicionados após cada linha. Um valor negativo condensa o espaço entre linhas. Somente a parte numérica do valor é utilizada. As unidades (px, pt) não são analisadas; pixels e pontos são equivalentes. |
letter-spacing
|
letterSpacing
| A quantidade de espaço distribuído uniformemente entre os caracteres. O valor especifica o número de pixels adicionados após cada caractere. Um valor negativo condensa o espaço entre caracteres. Somente a parte numérica do valor é utilizada. As unidades (px, pt) não são analisadas; pixels e pontos são equivalentes. |
margin-left
|
marginLeft
| Somente a parte numérica do valor é utilizada. As unidades (px, pt) não são analisadas; pixels e pontos são equivalentes. |
margin-right
|
marginRight
| Somente a parte numérica do valor é utilizada. As unidades (px, pt) não são analisadas; pixels e pontos são equivalentes. |
text-align
|
textAlign
| Os valores reconhecidos são left , center , right e justify . |
text-decoration
|
textDecoration
| Os valores reconhecidos são none e underline . |
text-indent
|
textIndent
| Somente a parte numérica do valor é utilizada. As unidades (px, pt) não são analisadas; pixels e pontos são equivalentes. |
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
styleNames : Array [somente leitura]
Uma matriz que contém os nomes (como strings) de todos os estilos registrados nesta folha de estilo. | StyleSheet |
Método | Definido por | ||
---|---|---|---|
Cria um novo objeto StyleSheet. | StyleSheet | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Remove todos os estilos do objeto de folha de estilo. | StyleSheet | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Retorna uma cópia do objeto de estilo associado ao estilo denominado styleName. | StyleSheet | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Analisa a CSS em CSSText e carrega a folha de estilo com ela. | StyleSheet | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Adiciona um novo estilo com o nome especificado ao objeto de folha de estilo. | StyleSheet | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Estende o recurso de análise de CSS. | StyleSheet | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
styleNames | propriedade |
StyleSheet | () | Construtor |
public function StyleSheet()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cria um novo objeto StyleSheet.
Elementos da API relacionados
clear | () | método |
public function clear():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Remove todos os estilos do objeto de folha de estilo.
getStyle | () | método |
public function getStyle(styleName:String):Object
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna uma cópia do objeto de estilo associado ao estilo denominado styleName
. Se não houver um objeto de estilo associado a styleName
, null
será retornado.
Parâmetros
styleName:String — Uma string que especifica o nome do estilo a ser recuperado.
|
Object — Um objeto.
|
Elementos da API relacionados
Exemplo
Como usar este exemplo
Consulte o exemplo do método parseCSS() ou transform() quanto a ilustrações de como utilizar o método
getStyle()
.
parseCSS | () | método |
public function parseCSS(CSSText:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Analisa a CSS em CSSText
e carrega a folha de estilo com ela. Se um estilo em CSSText
já estiver em styleSheet
, as propriedades em styleSheet
serão retidas e somente aquelas em CSSText
serão adicionadas ou alteradas em styleSheet
.
Para estender a capacidade de análise de CSS, é possível substituir esse método criando uma subclasse da classe StyleSheet.
Parâmetros
CSSText:String — O texto CSS para análise (uma string).
|
Exemplo ( Como usar este exemplo )
No construtor, um campo de texto de várias linhas é criado e seu conteúdo é definido como uma string formatada em HTML. (O cabeçalho HTML e as marcas span não são renderizadas antes da aplicação do estilo CSS.) Um objeto URLRequest
é criado para identificar o local do arquivo CSS, que neste exemplo está no mesmo diretório do arquivo SWF. O arquivo é carregado com um objeto URLLoader
. Existem dois ouvintes de evento adicionados ao objeto URLLoader loader
. Se ocorrer um erro de IO, o método errorHandler()
será chamado, exibindo uma mensagem de erro no campo de texto. Depois que todos os dados são recebidos e colocados na propriedade "data" do objeto URLLoader loader
, o métodoloaderCompleteHandler()
é chamado. Este método analisa os estilos CSS nos dados carregados a partir do arquivo e preenche o objeto StyleSheet sheet
com as definições de estilo.
Quando o usuário clica no campo de texto, o método clickHandler()
é chamado. A instrução if no método clickHandler()
verifica se o carregamento do arquivo foi concluído antes de aplicar a folha de estilo ao campo de texto. Para que a folha de estilo entre em vigor, é necessário reatribuir a propriedade htmlText
com o conteúdo após a folha de estilo ser atribuída ao campo de texto. Os valores de propriedade color
e font-family
CSS da marca de cabeçalho também são acrescentados ao conteúdo do campo de texto. (Os valores dessas propriedades serão "indefinidos" se os valores da folha de estilo não estiverem em vigor.)
A seguir está um exemplo de um conteúdo do arquivo CSS que pode ser utilizado com este exemplo. Antes de executar este exemplo, crie um arquivo de texto, copie o conteúdo CSS a seguir para ele, salve-o com o nome de arquivo test.css
e insira-o no mesmo diretório do arquivo SWF.
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 | () | método |
public function setStyle(styleName:String, styleObject:Object):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Adiciona um novo estilo com o nome especificado ao objeto de folha de estilo. O estilo nomeado é adicionado se ainda não existir na folha de estilo. O estilo nomeado é substituído se já existir na folha de estilo. Se o parâmetro styleObject
for null
, o estilo nomeado será removido.
O Flash Player cria uma cópia do objeto de estilo passado para esse método.
Para uma lista de estilos suportados, consulte a tabela na descrição da classe StyleSheet.
Parâmetros
styleName:String — Uma string que especifica o nome do estilo a ser adicionado à folha de estilo.
| |
styleObject:Object — Um objeto que descreve o estilo ou null .
|
transform | () | método |
public function transform(formatObject:Object):flash.text:TextFormat
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Estende o recurso de análise de CSS. Desenvolvedores avançados podem substituir esse método estendendo a classe StyleSheet.
Parâmetros
formatObject:Object — Um objeto que descreve o estilo, contendo regras de estilo como propriedades do objeto ou null .
|
flash.text:TextFormat — Um objeto TextFormat contendo o resultado do mapeamento de regras CSS para propriedades de formato de texto.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
transform()
para aplicar um estilo de um arquivo CSS a um objeto TextFormat de um campo de texto.
Geralmente, estilos CSS são utilizados para formatar o conteúdo HTML. No entanto, ao utilizar o método transform()
de um objeto StyleSheet, estilos CSS específicos podem ser atribuídos a um objeto TextFormat e depois aplicados a qualquer campo de texto.
Os objetos URLRequest
e URLLoader
são utilizados para carregar o arquivo CSS. Um ouvinte de evento é adicionado ao evento Event.COMPLETE
, que ocorre depois que todos os dados são recebidos e colocados na propriedade de dados do objeto URLLoader loader
. Em seguida, o método loaderCompleteHandler()
analisa o CSS dos dados carregados do arquivo e preenche o objeto StyleSheet sheet
com os estilos. O método getStyle()
da folha de estilo recupera os estilos de parágrafo em HTML, que são então atribuídos ao objeto TextFormat cssFormat
utilizando o método transform()
da folha de estilo. Finalmente, o formato de texto padrão do campo de texto inputField
é definido para o novo formato de texto cssFormat
.
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); } } }
Wed Jun 13 2018, 11:10 AM Z