Ricardo,
    Neste caso vc precisa setar variableRowHeight = true.

[]s
Fabio da Silva
http://www.fabiophx.blogspot.com/

On 23 fev, 11:35, Ricardo Torquato <[email protected]> wrote:
> olá pessoal,
>
> to com um probleminha aqui, num sei se sou eu, ou se é coisa do
> flex... rs
>
> tenho no item renderer do meu tile list um Label... fiz um eskema pra
> tratar a string do label pra quebrar linhas, colocar \n a cada 34
> caracteres, que e o que cabe de largura no tile, até aí tudo bem,
> depois fiz um eskema pra ele verificar quantas linhas teriam e
> retornar o tamanho de altura do label, ele retorna, porém, ele não o
> utiliza, pelo que verifiquei ele tah utilizando o do primeiro label,
> se o primeiro retornou 20 ele vai colocar altura 20 em todos... isso é
> problema do meu código ou do Flex?
>
> Segue os códigos utilizados
>
> Scripts:
>
> public function trataString(str:String):String{
>         var nstr:String = "";
>         var vstr:String = str;
>         var n:int;
>         var num:int = 1;
>
>         if (str.length > 34){
>                 n = (str.length/34);
>                 //Alert.show("subtracao: "+String(str.length - (n * 25)));
>                 if ((str.length - (n * 34)) > 0){
>                         num = (str.length/34) + 1;
>                 } else {
>                         num = (str.length/34);
>                 }
>                 //Alert.show("num: "+String(num));
>         }
>
>         for (var x:int=1;x<=num;x++){
>                 var com:uint;
>                 if (x==1){
>                         com = 0;
>                 } else {
>                         com = ((x-1)*34)-1;
>                 }
>
>                 var fim:uint;
>                 if (x==num){
>                         fim = vstr.length-1;
>                 } else {
>                         fim = com + 33;//(x*25)-1;
>                 }
>
>                 /* Alert.show(
>                         "x: "+String(x)+
>                         "\ncomeço: "+String(com)+
>                         "\nfim: "+String(fim)+
>                         "\nstring: "+String(str.substr(com,fim).substr(0,24))+
>                         "\ntotal de caracteres:
> "+String(str.substr(com,fim).substr(0,24).length)
>                 ); */
>
>                 nstr = nstr+str.substr(com,fim).substr(0,33)+"\n";
>         }
>
>         if (num==1){
>                 return str;
>         }
>
>         return nstr;
>
> }
>
> public function tamanhoLabel(l:int):int {
>         var num:int;
>         var n:int;
>
>         if (l > 34){
>                 n = (l/34);
>                 //Alert.show("subtracao: "+String(str.length - (n * 25)));
>                 if ((l - (n * 34)) > 0){
>                         num = (l/34) + 1;
>                 } else {
>                         num = (l/34);
>                 }
>                 //Alert.show("num: "+String(num));
>         } else {
>                 num = 1;
>         }
>
>         Alert.show("Tamanho label: "+String(l)+"\ntamanho final:
> "+String(num*20)+"\nnum: "+String(num));
>
>         return num*20;
>
> }
>
> trataString é pra colocar quebra de linha, tamanhoLabel é pra dar o
> height
>
> e o meu itemrenderer tah assim:
>
> <mx:Label buttonMode="true" useHandCursor="true" width="200"
> toolTip="{data.nome}" fontSize="10" color="#3e3e3e">
>         <mx:height>{outerDocument.tamanhoLabel((data.nome as String).length)}
> </mx:height>
>         <mx:htmlText>&lt;p align='left'&gt;
> {outerDocument.trataString(data.nome)}&lt;/p&gt;</mx:htmlText>
> </mx:Label>
>
> detalhe, se eo coloco manualmente tipo 40, ou 60 ele vai só que em
> todos, se eo tento colocar de forma dinâmica não funciona.... nem
> mesmo com o trio (lenght>30)?60:40 não tah funcionando...
>
> Valew desde já!

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a