Forums Développement Multimédia

Aller au contenu

Composnant s:TextArea problème

Application mobile Flex CODE Actionscript

6 réponses à ce sujet

#1 _Larry_

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 121 messages

Posté 13 September 2012 - 14:56 PM

Hello All

Apparemment c'est un composant "pas tres sympa" , je lui applique sa SkinClass "spark.skins.mobile.StageTextAreaSkin" pour pouvoir beneficier des options de texte natives pour les différents OSs et tout fonctionne (copier / coller , etc ...). Mais ainsi pour avoir un champ de saisie multiligne que ne supporte pas le composant Textinput....

Le truc qui déconne :
J'ai un vue A avec se composant , tout est nickel. Je passe a la vue B , puis retour sur la Vue A, et la , plus possible de saisir du texte dans le TextArea .... Mais pourquoi ?

PS: je sais que je peux lui donner son ancien skin, plus de bugs, mais je perds les options "NativeText' ....

#2 Tonic

    Plop

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5712 messages

Posté 13 September 2012 - 15:07 PM

Salut,

comment tu attribues à ton textarea sa skin custom?

Parce qu'il y a des chances que lorsque tu swap de vue, ton textarea soit détruit, et lorsque tu reviens dessus, c'est donc une nouvelle instance de textarea que tu retrouves. A ce moment là, est ce que tu lui ré appliques la skin que tu souhaites?

++ ^^

#3 _Larry_

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 121 messages

Posté 13 September 2012 - 15:29 PM

hum hum, et ben je lui applique dans le compo mxml comme ça :


<s:TextArea id="my_test_area"
         skinClass="spark.skins.mobile.StageTextAreaSkin"  
/>
 

part défault, je crois que les vues sont détruite a chaque fois qu'on passe a une autre sauf si je change la propriete "creationPolicy" du composant (je crois).

Mais alors sa suffit pas peut etre, il faut lui redire d'appliquer la skinClass ?, je vais essayer de declarer la skin dans un fichier CSS peut etre ?, je tente et je reviens :)

PS: pour etre plus precis ; comme je sais qu'il a plein de modifs suivant les SDK de Flex& Air , mon environement de Dev :
FlashBuilder 4.6, Flex SDK 4.6; Air SDK 3.4.

update CSS :


s|TextArea
{
 contentBackgroundColor:#FF5500;
 skinClass:ClassReference("spark.skins.mobile.StageTextAreaSkin");
}

pas mieux :?

#4 Tonic

    Plop

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5712 messages

Posté 13 September 2012 - 16:18 PM

Ok donc le problème ne vient pas de la skin.

Arrives tu as lui setter du texte par code?

Ca n'est pas un problème de focus non plus sur le composant? As tu essayer de lui mettre le focus via le focusManager?

++ ^^

#5 Badwolf

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 667 messages

Posté 13 September 2012 - 16:20 PM

sinon essaies de créer un composant personnalisé héritant de TextArea et ayant le skinclass "spark.skins.mobile.StageTextAreaSkin"
Haoooooooooooooooooooooooooooooooooooooooooooooou !!!

#6 _Larry_

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 121 messages

Posté 13 September 2012 - 16:48 PM

focus & setter de text par code déconne aussi.... par contre j'ai essayé un autre truc qui fait que mon TextArea redevient "vivant" je pense que je doit faire un truc qui plait pas à l'appli je m'explique :

la vue A avec le TextArea permet de creer un machin dans l'appli ...., en fait en bas de la vue j'ai un bouton "valider" qui fait mouliner l'appli ... Pendant la moulinette je fait apparaitre un popup transparent pour que l'utilisateur ne puisse pas cliquer plusieur fois sur le bouton valider, ou sur un autre bouton de la vue (en meme temps je fait apparaitre un Busy Indicator dans l'action Bar de la vue A).

Une fois la moulinette terminée, je passe a la vue B (qui est la Home en quelque sorte), du coup quand je repasse sur la vue A le TextArea est mort ...

Par contre , quand je ne fait plus apparaitre la popup sur la Vue A pendant la moulinette, le TextArea est vivant tout le temps... Je pense que c'est ça qui plait pas aux TextArea...

Finalement il me faudrait une methode bien cool du genre "User_Interaction_To_DisplayList = OFF" pour éviter de creer une popup transparente pour interdire a l'utilisateur de cliquer partout pendant un certain temps ....

update to @BadWolf : ok, je tente...

#7 _Larry_

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 121 messages

Posté 13 September 2012 - 17:07 PM

@Tonic @BadWolf

FlexGlobals.topLevelApplication.enabled  = false / true

p'tain le boulet, plus besoin de faire apparaitre un machin transparent pour desactiver l'interaction de l'utilisateur, sa doit etre des réminiscences de dev en Flash ça ....

Désolé les gas pour la perte de temps .... Merci de votre aide :oops:



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP