Comunidad de diseño web y desarrollo en internet online

Cambiar icono List en flex desde URL externa.

Citar            
MensajeEscrito el 23 Sep 2010 05:53 pm
Tengo un List en flex.

El list tiene iconos y coje los valores iniciales con iconFunction="funcionIcono"

La función devuelve según un parámetro el icono1, icono2, iconoN

[Embed(source="../data/icono/ico1.gif")]
public var icon1:Class;

Una vez cargados me gustaría que el usuario pudiera modificar el icono y poner una imagen que se encuentra en una url externa, http://dominiosubidaimagenes.com/imagen.jpg

Por más que busco no se como cambiar el icono, ni tampoco como cargar en un Class una imagen desde una url externa, puesto que no encuentro nada de documentación al respecto.

Ojala podais ayudarme.

Saludos y gracias.

Por Ping

16 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Sep 2010 08:16 pm
Si mal no recuerdo, hay un CSSStyleManager.setProperty que te permite acceder runtime a las propiedades del estilo del componente, mira si sale algo en la documentación ... igual ojo, los cambios runtime de este tipo son costosos en cuanto a rendimiento porque fuerzan todo un rendering en cadena

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Sep 2010 09:23 pm
Creo que me he expresado mal, puesto que con eso no podria hacerlo, porque lo que quiero hacer es lo siguiente.

Lista:
------------------------
Icono1 Usuario 1
Icono1 Usuario 2
Icono2 Usuario 3
Icono3 Usuario 4

Digamos que cada elementeo de la lista tiene su icono ya establecido con iconFunction y según un parámetro de inicio. Ahora bien si el usuario 1 sube un icono al servidor web la aplicación tiene que refrescar el iciono del usuario 1 por el que ha subido al servidor y actualizarse para los demás usuarios.

Lista:
------------------------
IconoWEB Usuario 1
Icono1 Usuario 2
Icono2 Usuario 3
Icono3 Usuario 4

Si lo ago con el CSSStyleManager como dices creo que no podria hacerse o si?

Saludos y gracias.

Por Ping

16 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Sep 2010 09:56 pm
Si lo que quieres es usar una im[agen distinta por cada uno, yo usar[ia un itemRenderer, es decir un componente personalizado con un ImageLoader y un campo de texto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Sep 2010 02:33 pm
A ver si sabes porque se produce este error, tengo que hacer que la clase extenda de alguna otra? o algo asi?

Error de conversión forzada: no se puede convertir usr::UsrList@5623921 en mx.controls.listClasses.IListItemRenderer.

Tengo un clase UsrList que tiene el nombre, unos cuantos valores, y aí le pienso añadir el icono. Pero al agregar <mx:List id="usersList" itemRenderer="usr.UsrList"

Me salta el error siguiente. Es mi primera aproximación con estes elementos y si como puedes ver ando algo perdido.

Saludos y gracias jorge.

Por Ping

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Sep 2010 03:00 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Sep 2010 04:37 pm
Jorge estube buscando algun ejemplo pero no veo nada.

he puesto public class usrList implements IListItemRenderer

Pero claro tengo que implementar cientos de métodos

1044: Interface method set systemManager in namespace mx.core:IUIComponent not implemented by class
-1044: Interface method get systemManager in namespace mx.core:IUIComponent not implemented by class
-1044: Interface method set tweeningProperties in namespace mx.core:IUIComponent not implemented by class
-1044: Interface method get tweeningProperties in namespace mx.core:IUIComponent not implemented by class
-1044: Interface method set percentHeight in namespace mx.core:IUIComponent not implemented by class
..... .... ...


No se puede hacer un extends o algo?, he probado a hacer un extends de otra pero no se me muestran los nombres en el list.

Saludos y perdona que te moleste otra vez.

Por Ping

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Sep 2010 06:11 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Sep 2010 08:40 pm
solo es mi humilde op. lo mejor que puedes hacer es crear un xml esta representara la lista
a este xml tendra la propiedad icono con eso ya es suficiente para acceder a los iconos dinamicamente
lo otro lo tambien como dices jorge lo haces a traves del css o bien renderizar los valores en el primer
post estan los libros A LEER!!!

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Sep 2010 09:37 am
Conseguido!!! Gracias a todos.

Ahora solo me aparece un pequeño error que dicen que es muy común pero debe ser tan común que no encuentro ningún sitio que diga la solución.

Al hacer scroll los elementos se repiten una y otra vez con el itemrenderer en vez de mostrar los siguientes.

Estoy buscando por el foro que fijo que tiene que haber un hilo ya de esto pero no lo encuentro.

Saludos.

Por Ping

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Sep 2010 10:44 am
No está tomando los datos, mira que lo estes asignando correctamente. Si pusiste un componente via MXML, mira que el valor eesté bien, si es por código, el método es setData si mal no recuerdo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Sep 2010 10:32 am
El problema estaba en:

Código :

<ve:fotoUsr id="imgUsr" >
         <mx:Script>
         <![CDATA[
            //codigo
   ]]>
</mx:Script>
</ve:fotoUsr>                              


Ai dentro accedia a img.source = data.img y me funcionaba mal. Sin embargo con

<ve:fotoUsr id="imgUsr" source="data.img" >

Perfecto, aun no encontré la explicación a esto pero tiene que tenerla.


Ahora bien, esto ya es para nota, me preocupa que cada vez que se añade o elimina un elemento a la lista toda la lista se refresca (se vuelven a cargar todas las imágenes) no existe alguna forma de evitar esto? que solo se carguen la imagen del que se añade a la lista?

Saludos a todos y gracias por la ayuda.

Por Ping

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Sep 2010 10:35 am
Intenta manipular el dataProvider haciendo un addItem del ArrayCollection en vez de recrearlo entero, haz un binding entre el ArrayCollection y el datagrid ... igual creo que se renderea todo, pero prueba ...

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Sep 2010 11:21 am
Mala suerte no ha funcionado, pero bueno, estaba pensando en la imagen que tengo hereda directamente de Image, existe algun método que haga el renderizado de la imagen cuando se añade un elemento, mi idea era si ya esta cargada pues que no hiciera nada.

No se si es una tonteria.

Saludos.

Por Ping

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Sep 2010 11:25 am
El problema no es ese, sino la forma en que funciona el itemrenderer, que dispara el setValue constantemente, incluso cuando haces scroll

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.