Ir para o conteúdo
pmasteral

[FLEX] Alterar Cores de um botão

Mensagens Recomendadas

pmasteral    0
pmasteral

Boa noite,

criei um painel contendo varios CollorPicker's que permitirão alterar o aspecto de uma interfce gráfica.

O processo que tenho feito é associar determinadas propriedades a esses CollorPickers através das propriedades Bindable.

Se para as variaveis que sejam apenas strings, ou inteiros o procesos é trivial. O mesmo não acontece quando as variaveis são array's (por exemplo num degradê de um fundo do botão).

Experiementei esta solução:

- Criei uma função que altera o valor do array, quando é selecionada uma cor diferente da actual.

[bindable]
public var fundoBotao:Array = new Array("#FFEDB5", "#F7D878", "#FFC18E", "#FFA95C");


public function mudaCor(cor:uint, pos:int) : void{
			fundoBotao[pos] = cor;				
		}


....



<mx:ColorPicker change="mudaCor(fundo1.selectedColor, 0)" id="fundo1" selectedColor="#FDDB54" height="18" width="18" />

O problema é que mesmo sendo Bindable, a alteração não é propagada para o botão em causa nesse instante. Para que a cor seja alterada é preciso alterar à posteriori uma propriedade do Botão (por exemplo o rebordo, ou a label).

Tive a ler a documentação do Flex, e este diz que nao é possivel usar Array's como variaveis Bindable, e para tal usar ArrayCollection. A questão é que tentei, e nao tive sucesso.

Resumindo, como devo proceder caso queira que uma alteração num array, seja automaticamente propagada, como acontece com Bindables de Inteiros ou Strings.

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pmasteral    0
pmasteral

com o CSS podes mudar a aparerencia dos componentes q adicionas ao projecto.

Mas em run-time? Ou só em compile-time?

Cumprimentos

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade